Note

The documentation you're currently reading is for version 2.4.1. Click here to view documentation for the latest stable version.

WorkflowsΒΆ

Typical datacenter operations and processes involve taking multiple actions across various systems. To capture and automate these operations, BWC uses workflows. A workflow strings atomic actions into a higher level automation, and orchestrates their executions by calling the right action, at the right time, with the right input. It keeps state, passes data between actions, and provides reliability and transparency to the execution.

Just like any actions, workflows are exposed in the automation library, and can be called manually, or triggered by rules. Workflows can even be called from other workflows.

To create a workflow action, choose a workflow runner (Mistral or ActionChain), connect the actions in a workflow definition, and provide the usual action meta data.

BWC supports two types of workflows - ActionChain and Mistral.

  • ActionChain is BWC‘s internal no-frills workflow runner. It provides a simple syntax to define a chain of actions, runs them one after another, passing data from one action to another until it succeeds or fails.

    Use ActionChain when you want speed and simplicity.

  • Mistral is a dedicated workflow service, originated in OpenStack, integrated and bundled with BWC. With Mistral, you can define complex workflow logic with nested workflows, forks, joins, and policies for error handling, retries, and delays.

    Use Mistral when you need power and resilience.

In addition, BWC offers experimental support for CloudSlang workflows.

  • CloudSlang is a language for defining workflows run by the CloudSlang Orchestration Engine. With the CloudSlang runner, you can define your own complex workflows or leverage the power of the ready-made CloudSlang content repository.

Learn how to define and run workflows: