Creating a workflow

You can use Workflow Automation (WFA) to create workflows for tasks such as provisioning, migrating, and decommissioning storage for databases or file systems. You should create workflows when the predefined WFA workflows do not match your requirements.

Before you begin

About this task

The construction of each workflow might vary based on the goal and requirement of the workflow. This task does not provide instructions for a specific workflow, but provides general instructions for creating a workflow.

Steps

  1. Click Workflow Design > Workflows.
  2. Click New icon on the toolbar.
  3. In the Workflow tab, perform the following steps:
    1. Expand the required schema, and then double-click the required Command icon (command) or Workflow icon (workflow) from the Available Steps list.
      You can repeat this step as required. You can drag-and-drop steps to rearrange the steps in the workflow editor.
    2. Optional: Click to add the required number of rows, which are used to specify details for execution of steps.
      Each step is executed based on the specified step details at the specified row and column. The steps are executed from left to right and in the top to bottom order.
    3. Position your cursor below the step you have added and click command details icon to add step details for the step execution, at the required row.
      For this step... Do this...
      Workflow Enter the required user inputs in the Workflow tab and the required condition in the Advanced tab.
      Command In the Parameters for <command> tab, click each object tab, select the required option to define the object attributes, and then enter the required details in the Advanced tab and the Other Parameter tab.
      Search or define Select the dictionary entry object that should be searched for or defined.
      The following illustration shows the available options for defining the object attributes:

      Choose the appropriate action:

      For... Do this...
      by filling-in attributes Enter the value for attributes using the following options:
      • Expressions
      • Variables
      • User inputs
      • Resource selection
      • Incremental naming

      You must position your cursor over the attribute fields and click to use the resource selection or incremental naming capabilities.

      by using a previously defined object Select the previously defined object in the box before the option list.
      by searching for an existing object
      1. Click Enter search criteria to search for the object using the resource selection capability.
      2. Select one of the required options for execution if the required object is not found:
        • Abort workflow

          This option aborts the workflow execution if the specific object is not found.

        • Disable this command

          This option disables only the current step and executes the workflow.

        • Fill-in attributes for object and execute the command

          This option enables you to enter the required attributes and execute the workflow.

  4. If you want to insert an approval point, click approval point hover icon and enter the required comment for the approval point.
    Approval point comments can include MVEL expressions.
  5. Click that is next to the row numbers to perform the following:
    • Insert a row.
    • Copy the row.
    • Repeat the row.

      You can use one of the following options to specify repetition of the command parameters:

      • Number of times

        You can use this option to repeat the command execution for the number of repetitions you specify. For example, you can specify that the "Create qtree" command should be repeated three times to create three qtrees.

        You can also use this option for a dynamic number of command executions. For example, you can create a user input variable for the number of LUNs to be created and use the number specified by the storage operator when the workflow is executed or scheduled.

      • For every resource in a group

        You can use this option and then specify a search criteria for an object. The command is repeated as many times as the object is returned by the search criteria. For example, you can search for the nodes in a cluster and repeat the "Create iSCSI Logical Interface" command for each node.

    • Add a condition for execution of the row.
    • Remove the row.
  6. In the Details tab, perform the following steps:
    1. Required: Specify the required information in the Workflow name and Workflow Description fields.
      The workflow name and description must be unique for each workflow.
    2. Optional: Specify the entity version.
    3. Optional: Clear the Consider Reserved Elements check box if you do not want to use the reservation capability.
    4. Optional: Clear the Enable element existence validation check box if you do not want to enable validation for elements that exist with the same name.
  7. If you want to edit the user inputs, perform the following steps:
    1. Click the User Inputs tab.
    2. Double-click the user input you want to edit.
    3. In the Edit Variable: <user input> dialog box, edit the user input.
  8. If you want to add constants, perform the following steps
    1. Click the Constants tab, and then add the required constants for your workflow by using the Add button.
      You can define constants when you are using a common value for defining the parameters for multiple commands. For example, see the AGGREGATE_OVERCOMMITMENT_THRESHOLD constant used in the "Create, map and protect LUNs with SnapVault" workflow.
    2. Enter the name, description, and value for each constant.
  9. Click the Return Parameters tab, and then add the required parameters for your workflow by using the Add button.
    You can use return parameters when the workflow planning and execution must return some calculated or selected values during planning. You can view the calculated or selected values in the Return Parameters tab of the monitoring window in the workflow preview or after the workflow execution is complete.
    Example
    Aggregate: You can specify aggregate as a return parameter to see which aggregate was selected using the resource selection logic.
    If you have included a child workflow in your workflow and if the child workflow return parameter names contain a space, dollar sign ($), or a function, you should specify the return parameter name within square brackets in the parent workflow to view the child workflow return parameter value in your parent workflow.
    Example
    If the parameter name is... Specify as...
    ChildWorkflow1.abc$value ChildWorkflow1["abc$"+"value"]
    ChildWorkflow1.$value ChildWorkflow1["$"+"value"]
    ChildWorkflow1.value$ ChildWorkflow1.value$
    ChildWorkflow1.P N ChildWorkflow1["P N"]
    ChildWorkflow1.return_string("HW") ChildWorkflow1["return_string(\"HW\")"]
  10. Optional: Click the Help Content tab to add the help content file you have created for the workflow.
  11. Click Preview and ensure that the planning of the workflow is completed successfully.
  12. Click OK to close the preview window.
  13. Click Save.

After you finish

Test the workflow in your test environment, and then mark the workflow as ready for production in WorkflowName > Details.