Creating a VNFC descriptor

Each VNFC requires a descriptor in the YAML format. This descriptor is stored in descriptor directory of the VNFC.

About this task

The format of these files is defined by the orchestration component Resource Descriptor YAML Specification. For more information, see Resource descriptors.

Each VNFC must have a name and a version - it is advisable to name the VNFC assuming other people might use the same name, that is, companyname.resourcename. Any change to any part of the VNFC should result in creating a new VNFC with an updated version number.

Each VNFC might have a set of properties. These can be required or optional. Default values can be supplied.

Note: The resource_id property that has a value set to $\{instance.id\}. When the resource is created, this has the ID for the resource that the orchestration component has assigned it. Other options are $\{instance.id\} that will have the orchestration component name for the resource and $\{instance.index\} which will have the unique index number for a resource when more than one can be created by the orchestration component within an assembly.
Table 1. Selected VNFC descriptor sections
Descriptor Description
Name Unique name and version number of the resource
Note: Each change in the underlying VNFC components should result in a new version/name of the VNFC.
Description Description of the VNFC
Properties Properties and values for the VNFC such as image location, networks, and ID
Lifecycle Lifecycles that apply to this resource
Operations Transitions that are invoked when establishing relationships
Operations

Operations are bespoke transitions that are invoked by the Brent resource manager when the orchestration component is establishing relationships between elements. These allow for action to take place between the VNFCs to enable a service to work. An example of an operation is if one VNFC requires the IP address of another VNFC in order to add it to its pool. The following example shows a voice gateway that requires the IP address and port of the Asterisk voice server. This operation is then later used once in the Network Service Design.

operations:
  addToDispatchList:
    properties:
      ipaddr:
        type: string
        description: address of the asterisk to add to pool
        required: true
      port:
        type: string
        description: port of the asterisk to add to pool
        default: 5060
        required: true