msa arch wf use

Workflows allows the creation and management of complex automated processes.

Overview

This guide explains how to find, select and run workflows.

A workflow is composed of:

  • A collection of processes, where each process is composed of a set of executable tasks implemented in Python or PHP.

  • A list of variables stored in the database and are holding the state of a workflow instance.

  • Some administrative information used to manage the service in the service console.

wf execution example

Workflow selection

In order to use a Workflow, it has first to be associated to a subtenant. To do so, you need to select a WF from the list and click on "Add to…​"

Workflows available in the library

Workflow Add to subtenant

This will open a dialog popup where subtenant will able to select the subtenant to add/remote to/from a workflow

Workflow use

To run a workflow you must first select a subtenant from the subtenant selection list at the top of the screen.

This will display the subtenant management dashboard for the workflows.

This dashboard shows the overall status of process execution.

Workflow status dashboard

Workflow Manager Dashboard

To use a workflow, you have select it from the list at the bottom of the screen. This will open a screen with the list of the workflow instance and actions to create new instances, update or delete existing ones.

Create a workflow instance and run processes

Use the action on the top right to create a new instance of the workflow, select the actions available on an instance to call the processes available for this workflow.

Use "+ Create Firewall Service" to create a new instance of the workflow

Workflow Instance List

Instance lifecycle

Before you can start using a workflow, you need to create a new 'instance' of the workflow. (For programmers, this is akin to thinking of using a class to create an object instance in Object-Oriented Programming, or OOP).

The action on the top right will create a new instance and open a user form where you will be able to provide some parameters related to the creation of the instance (you can think of this as passing a parameter to the constructor in OOP). The form may not always require parameters (this would be the case of the default constructor in OOP).

The example below shows a user form with some network related information, scroll down and click on "Run" to execute the instance creation process.

Update the workflow instance by calling one of the update or delete processes

Workflow Create Form

Once an instance is created, you can execute any process available to either update the instance state and run some automated task or delete the process instance. The process to delete an instance can also execute some automated tasks before removing the instance from the list.

Example

A typical example of a workflow lifecycle is the one to manage VNF on a cloud:

  • CREATE process: the user provide the VNF specific parameters and the process execute to create the VNF on the cloud, create and activate the Managed Entity on the MSactivator™.

  • UPDATE processes: the user can ask for scale up/down or configuration changes of the VNF

  • DELETE process: the VNF is removed as well as any related resources

Process execution logs

During the execution of a process you can view it’s execution logs in the "Logs" tab of the process execution screen.

workflow exec console logs

Process execution scheduling

If a process has been configured to allow scheduling (see documentation about the workflow editor), it is possible to schedule the execution of a process.

A workflow scheduling can be deleted any time from the list of scheduled processes in the Workflow tab "Scheduled Processes"

wf scheduling example

Table 1. Workflow scheduling
Schedule Execute Every Pick at least one Start date End date

Once

NA

NA

define when the process should execute

NA

Minute

execution frequency

NA

define the start date

define the end date

Hourly

execution frequency

NA

define the start date

define the end date

Daily

execution frequency

Select the week day(s) for execution

define the start date

define the end date

Weekly

execution frequency

NA

define the start date

define the end date

Monthly

execution frequency

Select the month(s) for execution

define the start date

define the end date

Retry a failed task

During the execution of a process, if a task fails to execute, you have the possibility to retry the execution of the process from the step where the task failed.

You can edit the process parameters before executing the process again.

workflow retry task

Get information about workflow instance status

The list of workflow instances can be filtered by the status of the execution of their processes:

  • All Instances: list all the instances

  • Running: list the instances that have a process running

  • Failed: list the instances that had a process execution failure

  • Warning: list the instances where the last process execution ended with a warning

  • Success: list the instances where the last process execution ended successfully

The status of a process and how a process can end with one of the possible statuses is defined by the process, in the tasks.

For each instance, a toolbar is available when you hover your mouse over it.

Each icon will give you some information about the instance:

Instance Info

  • Details: lists the Workflow variable and their values. This is the state of the instance.

  • History: lists the processes that were executed. For each process you can get the user that triggered the execution, the start and end time, the status of the execution.

The history will let you audit the process past executions and access all their the details.

Instance History

Access rights

As privileged administrator (ncroot) or administrator, you have access to multiple tenants and their related subtenants. You can list the workflows that are in used (ie. associated to a subtenant) by clicking on the "Automation" link on the left menu.

As a manager you will only be able to select the subtenant in your tenant.

Workflow design

Workflow design is explained in the developer guide.