VNF Owner/Service Designer will be able to manage VNF Operations in SDC. VNF Operations depict the lifecycle operations supported by the VNF.
Each VNF Operation will have an optional workflow defined for it.
VNF Owner/Service Designer will map the VNF Properties to workflow input parameters and workflow output parameters to VNF attributes. SO will use this mapping to perform the mapping at runtime. This will enable workflows to be agnostic of VNFs.
6 Comments
Alexander Vul
Is this being aligned with the TOSCA operations. To put it another way, if I build a TOSCA service template and specify operations on different nodes, will those operations show up in the workflow designer?
Srinivasa Vellanki
Yes, this is aligned with TOSCA Operations.
We do not have the capability to show service operations from TOSCA service template in workflow designer. We might need this in future to enable vendor to model VNF specific operations for controllers to invoke.
Current scope of workflow designer is generate a BPMN workflow for SO. BPMN workflow is based on Activity/Task made available to workflow designer. These Activity/Task can be registered in SDC Catalog for being available to workflow designer through a Manage Activity Spec REST API. These Activity/Task are expected to be generic and not specific to any VNF essentially having the logic to perform various tasks like assign, configure, start, stop, etc..
We are only enabling modeling of VNF operations that are expected to be requested from north-bound systems to SO.
Yuan Hu
1 Modeling Workflow with TOSCA
In fact, workflows have been defined in the Tosca-Simple-Profile-Yaml v1.2 specification. But it do not support the standard bpmn/bpel workflow, and need to extend.
Yuan Hu
Workflow Definition in the Tosca-Simple-Profile-Yaml v1.2 specification.
3.8.7 Imperative Workflow definition
A workflow definition defines an imperative workflow that is associated with a TOSCA topology.
3.8.7.1 Keynames
The following is the list of recognized keynames for a TOSCA workflow definition:
Keyname
Required
Type
Description
description
no
description
The optional description for the workflow definition.
metadata
no
map of string
Defines a section used to declare additional metadata information.
inputs
no
list of
property definitions
The optional list of input parameter definitions.
preconditions
no
list of precondition definitions
List of preconditions to be validated before the workflow can be processed.
steps
No
list of step definitions
An optional list of valid Node Templates or Groups the Policy can be applied to.
3.8.7.2 Grammar
Imperative workflow definitions have the following grammar:
<workflow_name>:
description: <workflow_description>
metadata:
<map of string>
inputs:
<property_definitions>
preconditions:
- <workflow_precondition_definition>
steps:
<workflow_steps>
In the above grammar, the pseudo values that appear in angle brackets have the following meaning:
Yuan Hu
2 Modeling Operation-Workflow Mapping with TOSCA
Use the keyword 'substitution_mappings' & 'interfaces' in the Tosca-Simple-Profile-Yaml v1.2 specification to describe the mapping between operations and workflows.
Yuan Hu
substitution_mappings definition in the Tosca-Simple-Profile-Yaml v1.2 specification.
3.8.12 Substitution mapping
A substitution mapping allows to create a node type out of a given topology template. This allows the consumption of complex systems using a simplified vision.
3.8.12.1 Keynames
Keyname
Required
Type
Description
node_type
yes
string
The required name of the Node Type the Topology Template is providing an implementation for.
properties
no
List of property mappings
The optional list of properties mapping allowing to map properties of the node_type to inputs, node template properties or values.
capabilities
no
List of capability mappings
The optional list of capabilities mapping.
requirements
no
List of requirement mappings
The optional list of requirements mapping.
interfaces
no
List of interfaces mappings
The optional list of interface mapping allows to map an interface and operations of the node type to implementations that could be either workflows or node template interfaces/operations.