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"
}
]
}
| 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.
|
| outBinding | The output from vRealize Orchestrator. |
| nextStep | The next step in the workflow. |