You are on page 1of 8

EWC helps automate common operational patterns.

Some examples are:

•Facilitated Troubleshooting - triggering on system failures captured by Nagios, Sensu,


New Relic and other monitoring systems, running a series of diagnostic checks on physical
nodes, OpenStack or Amazon instances, and application components, and posting results
to a shared communication context, like HipChat or JIRA.

•Automated remediation - identifying and verifying hardware failure on OpenStack


compute node, properly evacuating instances and emailing admins about potential
downtime, but if anything goes wrong - freezing the workflow and calling PagerDuty to
wake up a human.

•Continuous deployment - build and test with Jenkins, provision a new AWS cluster, turn
on some traffic with the load balancer, and roll-forward or roll-back, based on NewRelic
app performance data.

EWC helps you compose these and other operational patterns as rules and workflows or
actions. These rules and workflows - the content within the EWC platform - are stored as
code which means they support the same approach to collaboration that you use today for
code development. They can be shared with the broader open source community, for
example via the StackStorm
EWC plugs into the environment via the extensible set of adapters containing sensors and actions.

•Sensors are Python plugins for either inbound or outbound integration that receives or watches for events
respectively. When an event from external systems occurs and is processed by a sensor, a EWC trigger will be
emitted into the system.
•Triggers are EWC representations of external events. There are generic triggers (e.g. timers, webhooks) and
integration triggers (e.g. Sensu alert, JIRA issue updated). A new trigger type can be defined by writing a sensor
plugin.
•Actions are EWC outbound integrations. There are generic actions (ssh, REST call), integrations (OpenStack, Docker,
Puppet), or custom actions. Actions are either Python plugins, or any scripts, consumed into EWC by adding a few
lines of metadata. Actions can be invoked directly by user via CLI or API, or used and called as part of rules and
workflows.
•Rules map triggers to actions (or to workflows), applying matching criteria and mapping trigger payload to action
inputs.
•Workflows stitch actions together into “uber-actions”, defining the order, transition conditions, and passing the
data. Most automations are more than one-step and thus need more than one action. Workflows, just like “atomic”
actions, are available in the Action library, and can be invoked manually or triggered by rules.
•Packs are the units of content deployment. They simplify the management and sharing of EWC pluggable content
by grouping integrations (triggers and actions) and automations (rules and workflows). A growing number of packs
are available on StackStorm Exchange. Users can create their own packs, share them on Github, or submit to the
StackStorm Exchange.
•Audit trail of action executions, manual or automated, is recorded and stored with full details of triggering context
and execution results. It is also captured in audit logs for integrating with external logging and analytical tools:
LogStash, Splunk, statsd, syslog.
What’s Next?
•Install and run - follow Installation
•Build a simple automation - follow Quick Start Guide
•Help us with directions - comment on the Roadmap
•Explore the StackStorm community

Installation
Ready to install EWC? Here’s an overview of how to get your system up and running.
EWC is distributed as RPMs and Debs for RedHat/CentOS and Ubuntu Linux systems, and as Docker images. You
can either use a script to automatically install and configure all components on a single system, or you can follow
the manual instructions for your OS.
Here’s an overview of the options:

•Vagrant / Virtual Appliance: Vagrant / OVA is a quick and easy way to try StackStorm. It’s already pre-installed, tested and shipped
as a virtual image and so saves your time going through time-consuming installation and configuration steps. Works best as a testing,
pack development or demo system and recommended to get familiar with StackStorm platform. vagrant init stackstorm/st2 && vagrant up
is all you need to get started. See Vagrant for more detailed instructions.

•One-line Install: Run our installation script for an opinionated install of all components on a single system. This is a our
recommended way to get started. See the Quick Install section below for details.

•Manual Installation: Have custom needs? Maybe no Internet access from your servers? Or just don’t like using scripted installs?
Read the manual installation instructions for your OS (Ubuntu 14/16, RHEL/CentOS 6, RHEL/CentOS 7), and adapt them to your
needs. Here’s some additional guidance for setting up an internal mirror for the EWC repos.

•Ansible Playbooks: If you are an Ansible user, check these Ansible Playbooks for installing EWC. Ideal for repeatable, consistent,
idempotent installation of EWC.

•Puppet Module: For Puppet users, check this Puppet Module for installing EWC. A robust and idempotent method of installing and
configuring EWC.

•Docker: EWC is now supported on Docker - check out our Docker instructions.

•High Availability Entrusting business critical automation tasks to a system like StackStorm leads to higher demands on that system.
StackStorm can run in a HA mode to ensure these needs. Extreme Workflow Composer HA Cluster - BETA automates entire complex
infrastructure as a reproducible blueprint.

Choose the option that best suits your needs.


Quick Install

Grab a clean 64-bit Linux system that fits the system requirements. Make sure that curl is up to date using sudo apt-get install curl on Ubuntu, or
sudo yum install curl nss on RHEL/CentOS. Then run this command:

curl -sSL https://stackstorm.com/packages/install.sh | bash -s -- --user=st2admin --password='Ch@ngeMe’

This is an opinionated installation of EWC. It will download and install all components, as per the single host reference deployment. It assumes
that you have a clean, basic installation of Ubuntu or RHEL/CentOS.

If you are trying to install EWC on a server with other applications, or local customisations, you may run into problems. In that case, you should
use one of the manual installation methods.

The script itself is not idempotent. If you try to re-run the script on top of a failed installation, it will fail. Start again with a clean system, or
switch to a manual install.

If you’re installing behind a proxy, just export the proxy ENV variables http_proxy, https_proxy, no_proxy before running the script.
http_proxy=http://proxy.server.io:port
https_proxy=http://proxy.server.io:port
no_proxy=localhost,127.0.0.1
In case of MITM proxy, you may need to export additional proxy_ca_bundle_path, see Installing Packs from Behind a Proxy.

If you have problems accessing the Web UI on a RHEL 7/CentOS 7 system, check the system firewall settings.
Vagrant / Virtual Appliance:

Vagrant / OVA is a quick and easy way to


try StackStorm. It’s already pre-installed,
tested and shipped as a virtual image and
so saves your time going through time-
consuming installation and configuration
steps. Works best as a testing, pack
development or demo system and
recommended to get familiar with
StackStorm platform. vagrant init
stackstorm/st2 && vagrant up is all you need
to get started. See Vagrant for more
detailed instructions.

You might also like