Automation workflow
Automation Workflow specifies whether Turbonomic will execute an action, or whether Turbonomic will automate external workflows to effect the change in your environment. In this way, you can integrate supported orchestrators to execute of actions for specific scopes of entities in your environment. For information about Orchestration target requirements, see Orchestrator Targets.
Apart from controlling the execution, automation workflows also allow actions to seek external approval from external systems such as ServiceNow before executing the action.
For some orchestration workflows, it is necessary to schedule an action to execute only during a
specific maintenance window. Turbonomic policies can include schedules to enable
this use case. However, you must be sure that you do not set the schedule to the policy that
declares the orchestration you want. Instead, you should use two policies for the same scope – one
to set up the orchestration, and another to schedule the time window during which the action
acceptance mode will be Automated
(to set up the maintenance window). For more
information, see Setting Policy
Schedules.
About automation workflows
Automation workflows can add custom processing to Turbonomic actions at different entry points.
You can create an automation workflow that triggers a webhook whenever Turbonomic recommends moving a VM, or you can create an automation workflow that runs as a replacement for the action that Turbonomic would execute.
You can specify one or more critical or non-critical workflows. The action is considered failed if any one of the critical workflows returns an error. If a non-critical workflow returns an error, the action will continue and is not marked as failed.
For example:
-
Webhook workflow
To implement a webhook, you create a workflow that specifies parameters such as the HTTP URL, HTTP method, and request body template. You can then use one or more webhook workflow at each action stage to perform activities such as posting to a collaboration channel, sending an email, triggering a notification, or performing the action itself instead of Turbonomic. For more information about webhooks, see Webhooks.
-
Action Script workflow
You can deploy action scripts on a remote machine and configure an Action Script target that communicates with this server. Turbonomic discovers the exposed scripts and displays them as options you can choose when you specify a workflow in your automation policy. For more information about Action Scripts, see Deploying Action Scripts.
Specifying automation workflows
As you create a policy, you specify the entity type and the scope of entities the policy affects. You can also set modes for specific actions. For example, you can set a mode of Manual for the Resize action for a given scope of VMs.
This section shows how to link orchestration workflows to automation policies. It assumes you have already configured an appropriate Orchestration target. It also assumes that you have configured workflows on that target in such a way that Turbonomic can discover the workflows and map them to automation policies.
-
On the Policy page for the selected entity, expand Automation Workflow and click Add Action.
-
Select one or more Action Types you want to orchestrate.
-
Select the Action Generation mode.
By default, accepted actions execute without the need for orchestration. Turbonomic gives you the ability to set up orchestration to affect the approval and execution of actions. Actions are staged in the following sequence:
-
On Generation - Workflows are called when Turbonomic makes a decision that an action is required.
-
Before Execution - Workflows are called just before an accepted action is executed.
-
On Execution - By default, Turbonomic executes the action using the target that is managing the entity. If a workflow is not specified, Turbonomic executes the action with its default (Native) action processing.
If specified, critical workflows are called to execute the action instead of the default Turbonomic action execution. Non-critical workflows are called on executing the action.
-
After Execution - Workflows are called just after an accepted action is executed. To finalize an action, specify a critical workflow.
Workflows within each stage are not sequenced and are triggered in the order they were added. Workflows operate in isolation, and there is no data passing between workflows. Depending on the selected Action Generation mode, one or more additional steps may be required for each Action Stage. Refer to the following table for next steps.
Action generation mode Description Next steps Do not generate actions Actions are not generated. Turbonomic never considers your selected actions in its calculations. For example, if you do not want to generate Resize actions for VMs in the policy, analysis will still drive toward the desired state, but will do so without considering resizes.
No further steps are required. Recommend only Actions are generated but cannot be taken within Turbonomic. You can, optionally, add a non-critical workflow on action generation, such as to notify that the action was generated so that someone can review it. Manual Actions are generated and can be manually accepted for execution by a user. By default, on execution, Turbonomic executes the action using the target that is managing the entity when a user accepts the action. You can, optionally, specify critical and non-critical workflows to be triggered On generation, Before, On execution, or After execution. Automated Actions are generated and automatically accepted for execution. By default, on execution, Turbonomic executes the action using the target that is managing the entity. For automated resize or move actions on the same entity, Turbonomic waits five minutes between each action to avoid failures associated with trying to execute all actions at once. Any action awaiting execution stays in queue. For example, if a VM has both vCPU and vMem resize actions, Turbonomic could resize vCPU first. After this resize completes, it waits five minutes before resizing vMem.
You can, optionally, specify critical and non-critical workflows to be triggered On generation, Before, On execution, or After execution. Automated when approved Available only after adding a ServiceNow target
Actions are generated and automatically accepted for execution only after they are externally approved. The ServiceNow target is automatically set as the critical on generation workflow and you can optionally specify additional non-critical workflows. After approval, on execution, Turbonomic executes the action using the target that is managing the entity. You can, optionally, specify critical and non-critical workflows to be triggered Before, On execution, or After execution. -
-
(Optional) Specify an execution schedule.
There is no execution schedule by default; Turbonomic executes the action immediately. If the policy includes a schedule, Turbonomic executes the action at the scheduled time.
You can defer the execution of generated actions to a non-critical time window. For example, if a workload experiences memory bottlenecks during the week, you can defer the necessary resize to the weekend. Even if the workload has minimal utilization over the weekend, Turbonomic can recognize the need to resize, and will execute the action.
Note:Turbonomic discovers and enforces execution schedules defined in automation workflows. To avoid potential issues with schedules, set the execution schedule either in the orchestrator (such as ServiceNow) or Turbonomic.
-
When you have made all your settings, save the automation policy.
The Automation Workflow section of the policy page updates to show the workflows that were specified for the selected policy.
To edit the policy's workflows, click the pencil icon to open the Automation Workflow page or delete the workflow by clicking the delete icon.