Workflow user guide

Workflows are automation process algorithms. They describe the flow of the automation by determining which tasks to run and when to run these tasks. A task is an operation (implemented by a plugin), or other actions including running arbitrary code. Workflows are written in Python, using a dedicated framework and APIs.

Once you install your deployment, the list of workflows will change and display only applicable workflows that you can run for your deployment.

  1. Click Deployments, and next to a Gilan deployment for which you want to run a workflow, click menuIcon_use.
  2. Select the Install workflow, and then click Execute. Once your deployment completes the Install workflow, you will see a list of workflows applicable to your deployment. The following table describes all the available VNFM workflows:
Workflow Used for
Execute operation

Executing arbitrary operations on nodes. This is a generic workflow. Parameters include:

  • operation (required)
  • operation_kwargs a dictionary of keyword arguments
  • allow_kwargs_override boolean describing whether overriding operations inputs defined in the blueprint by using inputs of the same name in the operation_kwargs parameter
  • run_by_dependency_order boolean describing whether the operation should execute on the relevant nodes according to the order of their relationships dependencies or rather execute on all relevant nodes in parallel
  • type_names list of type names for which operations will run
  • node_ids list of node IDs on which operations will run
  • node_instance_ids list of node instance IDs on which operations will run
Generate report Creating a resource-throughput usage report to send to F5 for billing purposes.
Heal Layer Creating a new copy of the reported, dysfunctional VNF layer.
Heal VE Creating a new copy of the reported, dysfunctional VE and related objects.
Install Installing the target deployment, and lifecycle operations on instances (for example, create and configure start).
Install new agents

Installing agents on all VMs related to a particular deployment and connects them to the VNF Manager’s RabbitMQ instance. Run this workflow after having successfully restored a snapshot on a new VNF Manager in order for the VNF Manager to gain control over applications that have been orchestrated by the previous VNF Manager. You must run the old manager during this workflow execution, and the old agents are not uninstalled. Parameters include:

  • install_agent_timeout which is the timeout for a single agent installation (Default: 300s)
  • node_ids a list of node IDs on which the new agent is installed
  • node_instance_ids a list of node instance IDs on which the new agent is installed.
Purge Layer Uninstalling and removing dysfunctional VNF layer instances. Start this workflow manually, after the heal layer workflow runs and the problem investigation is finished. Parameter includes ignore failure passed to lifecycle uninstall process (see the following Uninstall workflow).
Purge VE Uninstalling and removing dysfunctional VNF VE instances, and related objects. Start this workflow manually, after the heal layer workflow runs and the problem investigation is finished. Parameter includes ignore failure passed to lifecycle uninstall process (see the following Uninstall workflow).
Restart

Restarting all, or a subset of, node templates. This workflow simply calls the stop workflow, followed by start, performing all stop operations first, and then performs all start operations. Parameters include:

  • stop_parms passed as-is to the operation_parms parameter of stop
  • start_parms passed as-is to the operation_parms parameter of start
  • run_by_dependency_order (see description of this parameter in the following Start workflow)
  • type_names (see description of this parameter in the following Start workflow)
  • node_ids (see description of this parameter in the following Start workflow)
  • node_instance_ids (see description of this parameter in the following Start workflow).
Scale In Group Removing and uninstalling DAG VE and VNF layer instances. Parameters include: deployment ids-DAG VE and VNF layer deployment IDs to remove. ignore failure-passed to the lifecycle uninstall process (see the following Uninstall workflow).
Scale In Layer Uninstalling and removing VNF VE slave instances. Parameters include: deployment ids-VNF slave VE deployment IDs to remove. ignore failure-passed to the lifecycle uninstall process (see the following Uninstall workflow).
Scale Out Group Adding DAG VE instances and VNF layer instances. Parameter includes add instances, which is the number of new instance VEs to create.
Scale Out Layer Creating and installing new VNF slave instances. Parameter includes add instances, which is the number of VNF slave VEs to add.
Start

Starting all, or a subset of, node templates. This workflow is a wrapper for the execute_operation workflow, allowing the user to easily start the topology (or a subset thereof). Calling the start workflow is equivalent to calling execute_operation while passing cloudify.interfaces.lifecycle.start as the operation name. Parameter includes:

  • operation_parms passed as-is to the operation_kwargs parameter of execute_operation
  • run_by_dependency_order similar semantics to the identically-named parameter of the execute_operation workflow
  • type_names passed as-is to the type_names parameter of execute_operation
  • node_ids passed as-is to the node_ids parameter of execute_operation
  • node_instance_ids passed as-is to the node_instance_ids parameter of execute_operation.
Stop Stopping all, or a subset of, node templates. This workflow is a wrapper for the execute_operation workflow, allowing the user to easily stop the topology (or a subset thereof). Calling the stop workflow is equivalent to calling execute_operation while passing cloudify.interfaces.lifecycle.stop as the operation name. See the previous Start workflow parameters.
Uninstall Uninstalling the target deployment, freeing allocated resources, and performing uninstall lifecycle operations (for example, stop and delete). This workflow also removes deployments and blueprints created during the install workflow. Parameter includes ignore_failure, which passes the workflow upon a failed lifecycle operation.
Update as 3 nsd Updating the AS3 declaration pushed to the VE as a part of NSD definition.
Upgrade DAG Group Creating new DAG VEs using new software reference data. Workflow selects older VEs with lesser revision value and disables them. Parameter includes instance count, which is the number of instances (DAG VEs) to upgrade.
Upgrade Group Finish Finishing the upgrade process, using the new software reference data to install scaled and healed VEs.
Upgrade Group Start

Starting the upgrade process and setting new software reference data. Parameters include:

  • image-for new BIG-IP
  • flavor-for new BIG IP
  • revision-revision number that is incremented with every upgrade.
Upgrade VNF Group Creating new VNF layer, using new software reference data, and maintaining the same number of slave VEs as in the selected layer. This workflow will also disable older layers (with lesser revision values). Parameter includes layer deployment id identifying the layer selected for upgrade.
  1. To learn more about which workflow to run on which deployment for specific use case scenarios, consult the Workflow-Deployment matrix.

Workflow-deployment matrix

Use the following table to assist you with deciding which workflow to run for which deployment for specific use case scenarios:

Deployments -> Execute Workflow

Use Case Select Deployment with Blueprint Use Workflow
To install Gi-LAN solution on your target, virtualization infrastructure management (VIM) resource. Run this workflow on ALL deployments Install
To reach the throughput capacity that you purchased, scale out your vnf layer and add/install slave members (VEs) to that VNF layer. vnf_layer, vnf_ve_slave Scale out layer
To meet the scaling parameters you specified, scale in your vnf layer and remove/uninstall/delete slave members (VEs) from that layer. vnf_layer, vnf_ve_slave Scale in layer
To reach the throughput capacity that you purchased, scale out your DAG or VNF group and add/install group members and instances; add VEs to the DAG group and/or add layers to the VNF group. vnf_layer, vnf_group Scale out group
To meet the scaling parameters you specified, scale in and remove/uninstall/delete all VEs and related instances from your DAG group or layers and related instances from your VNF group. vnf_layer, vnf_group Scale in group
To uninstall the Gi-LAN solution on your target VIM, releasing all resource from that VIM. Run this workflow on ALL deployments Uninstall
To generate VNFM billing (utility usage report) for sending to F5 Networks. Run this workflow on your base deployment/blueprint only (Gi-LAN or Gi-Firewall). Generate Report

What’s Next?

High Availability Guide