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.
$\{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.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 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