Use vRealize Orchestrator to run operations that are not supported natively on VMware Telco Cloud Automation.

VMware Telco Cloud Automation provides a workflow orchestration engine that is distributed (spans across multiple connected sites), reliable, scalable, consistent, efficient, and easily maintainable. Workflows are a series of steps that must be completed sequentially to get the work done. It is an orchestration of tasks or steps. Every step represents a piece of business logic such that the ordered execution produces a meaningful result.

Using vRealize Orchestrator, you can create custom workflows or use an existing workflow as a template to design a specific workflow to run on your network function or network service. For example, you can create a workflow to start or query the status of certain services within a network function. These workflows can then be uploaded to your catalog in VMware Telco Cloud Automation.

Here is a sample workflow that is used to run pre-instantiation checks on a network function:

{
  "id":"sample_workflow",
  "name": "Sample Workflow",
  "description":"Sample Description",
  "version":"1.0",
  "startStep":"step1",
  "variables": [
    {"name":"vnfId", "type": "string"},
    {"name":"stringVar1", "type": "string"}
  ],
  "input": [
    {"name": "USER", "description": "Username", "type": "string"},
    {"name": "PWD", "description": "Password", "type": "password"}
  ],
  "output": [
    {"name":"output", "description": "Output Result", "type": "string"}
  ],
  "steps":[
    {
      "stepId":"step1",
      "workflow":"RUN_SSH_COMMAND_IN_GUEST",
      "namespace": "nfv",
      "type":"decision",
      "description": "Step 1 - Run SSH Command",
      "inBinding":[
        {"name": "username", "type": "string", "exportName": "USER"},
        {"name": "password", "type": "password", "exportName": "PWD"},
        {"name": "port", "type": "number", "default": "22"},
        {"name": "cmd", "type": "string", "default": "sh /opt/vmware/service-start.sh"},
        {"name": "encoding", "type": "string", "default": ""},
        {"name": "hostNameOrIP", "type": "string", "default": "10.112.45.100"},
        {"name": "passwordAuthentication", "type": "boolean", "default": "true"}
      ],
      "outBinding": [
        {"name": "outputText", "type": "string", "exportName": "stringVar1"}
      ],
      "condition": [
        {
          "name": "stringVar1", "type": "string", "comparator": "equals", "value": "PASS",
          "nextStep": "step2"
        },
        {
          "name": "stringVar1", "type": "string", "comparator": "equals", "value": "FAIL",
          "nextStep": "END"
        }
      ]
    },
    {
      "stepId":"step2",
      "workflow":"VRO_CUSTOM_WORKFLOW",
      "namespace": "nfv",
      "type":"task",
      "description": "Step 2 - Run Custom vRO Workflow",
      "inBinding":[
        {"name": "username", "type": "string", "exportName": "USER"},
        {"name": "vroWorkflowName", "type": "string", "default": "Run SSH command"},
        {"name": "password", "type": "password", "exportName": "PWD"},
        {"name": "port", "type": "number", "default": "22"},
        {"name": "cmd", "type": "string", "default": "sh /opt/vmware/service-status.sh"},
        {"name": "encoding", "type": "string", "default": " "},
        {"name": "hostNameOrIP", "type": "string", "default": "10.112.45.100"},
        {"name": "passwordAuthentication", "type": "boolean", "default": "true"}
      ],
      "outBinding": [
        {"name": "outputText", "type": "string", "exportName": "output"}
      ],
      "nextStep":"END"
    }
  ]
}
Some of the key parameters/attributes supported by the workflow engine are:
Parameter Description
id Workflow identification number.
name Name of the workflow.
description Description of the workflow.
variables Any variables to be used within the script.
input Any user inputs to be provided from VMware Telco Cloud Automation.
output Any output for VMware Telco Cloud Automation to receive.
steps List of steps in the workflow.
stepId Each step is associated with a step ID. The first step in the workflow is step0.
name The name of the step.
namespace This parameter is a constant called nfv.
type Define whether the step is a task or a decision type.
Note: Decision type steps require a condition.
description Description of the step.
inBinding Enter the workflow inputs. These inputs identify the workflow to run on the network function or service.
  • name - Name of the workflow.
  • type - String
  • exportName - User-provided variable.
  • default - A default string.
outBinding The output from vRealize Orchestrator.
nextStep The next step in the workflow.
After creating a workflow, you can upload it to the network function or network service catalog as a part of the onboarding process. For more information, see Design a Virtual Network Function Descriptor, Design a Network Service Descriptor.