7 Virtualised Network Function information elements
7.1 VNF Descriptor (VNFD)
7.1.1 Introduction
The clauses below define the information elements related to the VNFD. A UML representation of the VNFD high?level structure is shown in figure 7.1.1-1.
Figure 7.1.1-1: VNFD high-level structure
7.1.2 VNFD information element
7.1.2.1 Description
A VNFD is a deployment template which describes a VNF in terms of deployment and operational behaviour requirements. It also contains connectivity, interface and virtualised resource requirements.
7.1.2.2 Attributes
The attributes of the VNFD information element shall follow the indications provided in table 7.1.2.2-1.
Table 7.1.2.2-1: Attributes of the VNFD information element
Attribute | Qualifier | Cardinality | Content | Description | CMCC Comment | State |
vnfdInvariantId | 1 | Identifier | Invariant identifier of the VNFD | Can it be merged with nfProductName below? | FFS | |
vnfdId | M | 1 | Identifier | Identifier of this VNFD information element. This attribute shall be globally unique. The format will be defined in the data model specification phase. See note 1. | TBA | agreed |
| 1 | NFDescription | Description of the VNF. | Confirmed | removed | |
vnfProvider | M | 1 | String | Provider of the VNF and of the VNFD. | Confirmed | agreed |
vnfProductName | M | 1 | String | Name to identify the VNF Product. Invariant for the VNF Product lifetime. | Renamed to Name | agreed |
vnfSoftwareVersion | M | 1 | Version | Software version of the VNF. This is changed when there is any change to the software that is included in the VNF Package. | Renamed to SWversion | agreed |
vnfdVersion | M | 1 | Version | Identifies the version of the VNFD. | Renamed to Version | agreed |
vnfProductInfoName | M | 0..1 | String | Human readable name for the VNF Product. Can change during the VNF Product lifetime. | Renamed to Shortname | agreed |
vnfProductInfo | M | 0..1 | String | Human readable description of the VNF Product. Can change during the VNF Product lifetime. | Renamed to description | agreed |
vnfmInfo | M | 0..N | String | Identifies VNFM(s) compatible with the VNF described in this version of the VNFD. | TBA. Suggest to follow R1 convention, using the name of micro-service of the vnfm drive. For vendor specific vnfm: vendorname+vnfmdriver For generic vnfm: gvnfmdriver | agreed |
localizationLanguage | M | 0..N | Not specified | Information about localization languages of the VNF (includes e.g. strings in the VNFD). See note 4. | Optional, refer to ISO936 https://www.iso.org/iso-639-language-codes.html | agreed |
defaultLocalization | M | 0..1 | Not specified | Default localization language that is instantiated if no information about selected localization language is available. Shall be present if "localizationLanguage" is present and shall be absent otherwise. | Optional, refer to ISO936 https://www.iso.org/iso-639-language-codes.html | agreed |
vdu | M | 1..N | Vdu | Virtualisation Deployment Unit. See clause 7.1.6. | Confirmed. | agreed |
virtualComputeDesc | M | 1..N | VirtualComputeDesc | Defines descriptors of virtual compute resources to be used by the VNF. See clause 7.1.9.2.2. | Suggest to change from 0.. N to 1.. N. | agreed |
virtualStorageDesc | M | 0..N | VirtualStorageDesc | Defines descriptors of virtual storage resources to be used by the VNF. See clause 7.1.9.4.2. | Confirmed | agreed |
intVirtualLinkDesc | M | 1..N | VnfVirtualLinkDesc | Represents the type of network connectivity mandated by the VNF provider between two or more CPs which includes at least one internal CP. See clause 7.1.7. | Confirmed | agreed |
vnfReservedCpd | M | 1..N | VduCpd | Reserved IP Address for VNF which is not bounded to any specific VNFC, but assigned manually from outside and potentially shared as a floating IP among VNFCs. | TBA. | agreed |
vnfExtCpd | M | 1..N | VnfExtCpd | Describes external interface(s) exposed by this VNF enabling connection with a VL. See clause 7.1.3. | Confirmed | agreed |
deploymentFlavour | M | 1..N | VnfDf | Describes specific DF(s) of a VNF with specific requirements for capacity and performance. See clause 7.1.8. | Confirmed | agreed |
configurableProperties | M | 0..1 | VnfConfigurableProperties | Describes the configurable properties of the VNF (e.g. related to auto scaling and auto healing). See clause 7.1.12. | Optional. Without definitions for key-value pairs. | agreed |
modifiableAttributes | M | 0..1 | VnfInfoModifiableAttributes | Describes the modifiable attributes of the VNF. See clause 7.1.14. | Optional Without definitions for key-value pairs. | agreed |
lifeCycleManagementScript | M | 0..N | LifeCycleManagementScript | Includes a list of events and corresponding management scripts performed for the VNF. See clause 7.1.13. | Confirmed | agreed |
elementGroup | M | 0..N | VnfdElementGroup | Describes the associated elements of a VNFD for a certain purpose during VNF lifecycle management. See clause 7.1.4. | To be further worked on. Without definitions for key-value pairs. | agreed |
vnfIndicator | M | 0..N | VnfIndicator | Declares the VNF indicators that are supported by this VNF. | Confirmed | agreed |
autoScale | M | 0..N | Rule | Rule that determines when a scaling action needs to be triggered on a VNF instance e.g. based on certain VNF indicator values or VNF indicator value changes or a combination of VNF indicator value(s) and monitoring parameter(s). See notes 2 and 3. | To be further worked on. Suggest to allow for multiple rules. Provide specifications for rule definition. | postpone to future release |
VeVnfmVnfInterface | M | 1 | String | The API (e.g. IP adress and port) for VNF management. | TBA. | |
logo | M | 0..1 | String | File path of the vendor specified logo. | Confirmed | agreed |
| 0..N | Not Specified | Not sure when and how to use this attribute. | removed | ||
NOTE 1: The VNFD Identifier shall be used as the unique identifier of the VNF Package that contains this VNFD. Any modification of the content of the VNFD or the VNF Package shall result in a new VNFD Identifier. NOTE 2: Monitoring parameters are specified as part of VNF flavour, VDU and VL descriptions. NOTE 3: The rule (conditions and actions) can be expressed as a script. NOTE 4: This allows to provide one or more localization languages to support selecting a specific localization language at VNF instantiation time. |
7.1.3 Information elements related to VnfExtCpd
7.1.3.1 Introduction
The clauses below define the information elements related to the VnfExtCpd.
7.1.3.2 VnfExtCpd information element
7.1.3.2.1 Description
A VnfExtCpd is a type of Cpd and describes an external interface, a.k.a external CP, exposed by this VNF enabling connection with a VL.
A VnfExtCpd inherits from the Cpd Class (see clause 7.1.6.3). All attributes of the Cpd are also attributes of the VnfExtCpd.
When the VnfExtCpd is mapped to a VduCpd, the values for the attributes type, subType and description shall be identical for both elements.
7.1.3.2.2 Attributes
The attributes of the VnfExtCpd information element shall follow the indications provided in table 7.1.3.2.2-1.
Table 7.1.3.2.2-1: Attributes of the VnfExtCpd information element
Attribute | Qualifier | Cardinality | Content | Description | CMCC Comments |
---|---|---|---|---|---|
intCpd | M | 0..1 | Identifier (Reference to VduCpd) | Reference to the internal VDU CPD which is used to instantiate internal CPs. These internal CPs are, in turn, exposed as external CPs defined by this external CPD. | TBA |
virtualNetworkInterfaceRequirements | 0..N | VirtualNetworkInterfaceRequirements | Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD. See note. | From Mandatory to Optional | |
(inherited attributes) | All attributes inherited from Cpd. | Confirmed | |||
NOTE: In case of referencing an intCpd via its identifier, the virtualNetworkInterfaceRequirements attribute of the referenced intCpd applies. |
7.1.3.3 AddressData information element
7.1.3.3.1 Description
The AddressData information element supports providing information about the addressing scheme and parameters applicable to a CP.
7.1.3.3.2 Attributes
The attributes of the AddressData information element shall follow the indications provided in table 7.1.3.3.2-1.
Table 7.1.3.3.2-1: Attributes of the AddressData information element
Attribute | Qualifier | Cardinality | Content | Description | CMCC comment |
---|---|---|---|---|---|
addressType | M | 1 | Enum | Describes the type of the address to be assigned to the CP instantiated from the parent CPD. Value:
The content type shall be aligned with the address type supported by the layerProtocol attribute of the parent CPD. | Confirmed |
l2AddressData | 0..1 | Not specified | Provides the information on the MAC addresses to be assigned to the CP(s) instantiated from the parent CPD. Shall be present when the addressType is MAC address. | From M to O | |
l3AddressData | M | 0..1 | L3AddressData | Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD. Shall be present when the addressType is IP address. See clause 7.1.3.3.1. | Confirmed. |
7.1.3.4 L3AddressData information element
7.1.3.4.1 Description
The L3AddressData information element supports providing information about Layer 3 level addressing scheme and parameters applicable to a CP.
7.1.3.4.2 Attributes
The attributes of the L3AddressData information element shall follow the indications provided in table 7.1.3.4.2-1.
Table 7.1.3.4.2-1: Attributes of the L3AddressData information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
iPAddressAssignment | 1 | Boolean | Specify if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility. | |
floatingIpActivated | 1 | Boolean | Specify if the floating IP scheme is activated on the CP or not. | |
iPAddressType | M | 0..1 | Enum | Define address type. Value:
See note. |
fixedIPAddress | M | 0..1 | String | TBA. IP Address for the VNF, which is assigned manually from outside. |
fixedIPSubnet | M | 0..1 | String | TBA. Subnet name for the VNF, which is assigned manually from outside. |
numberOfIpAddress | 0..1 | Integer | Minimum number of IP addresses to be assigned based on this L3AddressData information element. From M to O. | |
allowedIPAddress | M | 0..N | String | TBA. Allowed floating IP addresses, in CIDR format. |
NOTE: The address type should be aligned with the address type supported by the layerProtocol attribute of the parent VnfExtCpd. |
7.1.4 VnfdElementGroup information element
7.1.4.1 Description
A VNFD Element Group is a mechanism for associating elements of a VNFD (Vdus and VnfVirtualLinkDesc(s)) for a certain purpose, for example, scaling aspects.
A given element can belong to multiple groups.
7.1.4.2 Attributes
The attributes of the VnfdElementGroup information element shall follow the indications provided in table 7.1.4.2-1.
Table 7.1.4.2-1: Attributes of the VnfdElementGroup information element ()
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
vnfdElementGroupId | M | 1 | Identifier | Unique identifier of this group in the VNFD. |
description | M | 1 | String | Human readable description of the group. |
vdu | M | 0..N | Identifier (Reference to Vdu) | References to Vdus that are part of this group. |
virtualLinkDesc | M | 0..N | Identifier (Reference to VnfVirtualLinkDesc) | References to VnfVirtualLinkDesc that are part of this group. |
7.1.5 Information elements related to the configuration of VNF lifecycle management operations
Removed entirely.
The only required configuration input is the inject file for VM creation, which is suggested to be added as an attribute to Vdu information element in Section 7.1.6.2.2.
7.1.6 Information elements related to the Vdu
7.1.6.1 Introduction
The clauses below define the information elements related to the Vdu.
7.1.6.2 Vdu information element
7.1.6.2.1 Description
The Virtualisation Deployment Unit (VDU) is a construct supporting the description of the deployment and operational behaviour of a VNFC.
A VNFC instance created based on the VDU maps to a single virtualisation container (e.g. a VM).
A UML representation of the Vdu high-level structure is shown in figure 7.1.6.2.1-1.
Figure 7.1.6.2.1-1: Vdu deployment view
7.1.6.2.2 Attributes
The attributes of the Vdu information element shall follow the indications provided in table 7.1.6.2.2-1.
Table 7.1.6.2.2-1: Attributes of the Vdu information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
vduInvariantId | 1 | Identifier | Invariant identifier of the Vdu. Need to confirm the application scenario. | |
vduId | M | 1 | Identifier | Unique identifier of this Vdu in VNFD. |
name | M | 1 | String | Human readable name of the Vdu. |
vduNamingCode | 1 | String | Short code of the Vdu. | |
vmFlavorName | 1 | String | Name of the VM flavour. Need to clarify the application scenario and relationship with the other attributes. | |
description | M | 1 | String | Human readable description of the Vdu. |
vduCpd | M | 1..N | VduCpd | Describes network connectivity between a VNFC instance (based on this Vdu) and an Virtual Link (VL). See clause 7.1.6.4. |
virtualComputeDesc | M | 1 | Identifier (reference to VirtualComputeDesc) | Describes CPU, Memory and acceleration requirements of the Virtualisation Container realising this Vdu. See clause 7.1.9.2.2. |
virtualStorageDesc | M | 0..N | Identifier (reference to VirtualStorageDesc) | Describes storage requirements for a VirtualStorage instance attached to the virtualisation container created from virtualComputeDesc defined for this Vdu. See clause 7.1.9.4. |
bootOrder | M | 0..N | KeyValuePair | The key indicates the boot index (lowest index defines highest boot priority). The Value references a descriptor from which a valid boot device is created e.g. VirtualStorageDesc from which a VirtualStorage instance is created. See note 1. |
swImageDesc | M | 0..1 | SwImageDesc | Describes the software image which is directly loaded on the virtualisation container realising this Vdu. See clause 7.1.6.5. See note 2. |
nfviConstraint | M | 0..N | NfviConstraint | Describes constraints on the NFVI for the VNFC instance(s) created from this Vdu. For example, aspects of a secure hosting environment for the VNFC instance that involve additional entities or processes. See note 3. |
watchdog | M | 0..1 | string | TBA. Watchdog action to be triggered by VIM for the VNF in case , e.g. reset or hard shutdown etc. |
vmBootUpTimeOut | O | 0..1 | integer | TBA. VNF could specify a more appropriate boot up timeout value for VNFM to detect failure during creation. |
monitoringParameter | 0..N | MonitoringParameter | Defines the virtualised resources monitoring parameters on VDU level. MonitoringParameter is defined in clause 7.1.11.3. From M to O. | |
configurableProperties | 0..1 | VnfcConfigurableProperties | Describes the configurable properties of all VNFC instances based on this VDU. See clause 7.1.6.7. | |
virtualLinkDesc | 0..N | Identifier (reference to VLD) | Suggest to be removed. This is duplicated information, as the VL is already connected toVDU via intCpd information elements. | |
highAvailability |
|
| Not Specified | High availability functionality of the VDU. |
injectFiles | M | 0..N | TBD in DM | TBA. |
NOTE 1: If no boot order is defined the default boot order defined in the VIM or NFVI shall be used. NOTE 2: More software images can be attached to the virtualisation container using VirtualStorage resources. NOTE 3: These are constraints other than stipulating that a VNFC instance has access to a certain resource, as a prerequisite to instantiation. The attributes virtualComputeDesc and virtualStorageDesc define the resources required for instantiation of the VNFC instance. |
7.1.6.3 Cpd information element
7.1.6.3.1 Description
A Cpd information element describes network connectivity to a compute resource or a VL. This is an abstract class used as parent for the various Cpd classes.
7.1.6.3.2 Attributes
The attributes of the Cpd information element shall follow the indications provided in table 7.1.6.3.2-1.
Table 7.1.6.3.2-1: Attributes of the Cpd information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
cpdId | M | 1 | Identifier | Identifier of this Cpd information element. |
layerProtocol | 1..N | Enum | Identifies which protocol the CP uses for connectivity purposes (Ethernet, IPV4, IPV6,). See note. Chang from M to O. | |
cpRole | 0..1 | String | Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS. For example a VNF with a tree flow pattern within the VNF will have legal cpRoles of ROOT and LEAF. Confirmed. | |
description | M | 0..1 | String | Provides human-readable information on the purpose of the CP (e.g. CP for control plane traffic). Confirmed. |
addressData | M | 0..N | AddressData | Provides information on the addresses to be assigned to the CP(s) instantiated from this CPD. Confirmed. |
allowedAddressData | M | 0..N | AddressData | TBA. For specifying floating IP to be shared among Cpds, which was reserved for vnfReservedCpd. |
NOTE: This information determines, amongst other things, which type of address to assign to the access point at instantiation time. |
7.1.6.4 VduCpd information element
7.1.6.4.1 Description
A VduCpd information element is a type of Cpd and describes network connectivity between a VNFC instance (based on this VDU) and an VL.
A VduCpd inherits from the Cpd Class (see clause 7.1.6.3). All attributes of the Cpd are also attributes of the VduCpd.
7.1.6.4.2 Attributes
The attributes of the VduCpd information element shall follow the indications provided in table 7.1.6.4.2-1.
Table 7.1.6.4.2-1: Attributes of the VduCpd information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
VirtualLinkDesc | M | 1 | Identifier (Reference to VnfVirtualLinkDesc) | Reference of the internal/external VLD which this internal CPD connects to. From 0..1 to 1. |
bitrateRequirement | M | 0..1 | Number | Bitrate requirement on this CP. Confirmed. |
vnicName | M | 0..1 | String | TBA. The name of the vinic. Could me missing and use the parameter inside infject file. |
vnicOrder | M | 0..1 | Integar | TBA. The order of vnic initiation. Could me missing and use the parameter inside infject file. |
vnicType | M | 0..1 | Enum | TBA. {normal?direct?baremetal?Direct-physical?virtio-forwarder?MACVtap} |
virtualNetworkInterfaceRequirements | 0..N | VirtualNetworkInterfaceRequirements | Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD. From M to O. | |
logicalNodeRequirements | 0..N | KeyValuePair | Describes the CPD with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CPD. To be clarified. | |
(inherited attributes) | All attributes inherited from Cpd. |
7.1.6.5 SwImageDesc information element
7.1.6.5.1 Description
This information element describes requested additional capability for a particular VDU. Such a capability may be for acceleration or specific tasks.
7.1.6.5.2 Attributes
The attributes of the SwImageDesc information element shall follow the indications provided in table 7.1.6.5.2-1.
Table 7.1.6.5.2-1: Attributes of the SwImageDesc information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
id | M | 1 | Identifier | The identifier of this software image. |
name | M | 1 | String | The name of this software image. |
version | M | 1 | String | The version of this software image. |
checksum | M | 1 | String | The checksum of the software image file. |
containerFormat | M | 1 | String | The container format describes the container file format in which software image is provided. |
diskFormat | M | 1 | String | The disk format of a software image is the format of the underlying disk image. |
minDisk | M | 1 | Number | The minimal disk size requirement for this software image. The value of the "size of storage" attribute of the VirtualStorageDesc referencing this SwImageDesc shall not be smaller than the value of minDisk. |
minRam | M | 0..1 | Number | The minimal RAM requirement for this software image. The value of the "size" attribute of VirtualMemoryData of the Vdu referencing this SwImageDesc shall not be smaller than the value of minRam. |
size | M | 1 | Number | The size of this software image. |
swImage | M | 1 | Identifier (Reference to a SwImage) | This is a reference to the actual software image. The reference can be relative to the root of the VNF Package or can be a URL. |
operatingSystem | M | 0..1 | String | Identifies the operating system used in the software image. This attribute may also identify if a 32 bit or 64 bit software image is used. |
supportedVirtualisationEnvironment | M | 0..N | String | Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image. |
7.1.6.6 VirtualNetworkInterfaceRequirements information element
7.1.6.6.1 Description
This information element specifies requirements on a virtual network interface.
7.1.6.6.2 Attributes
The attributes of the VirtualNetworkInterfaceRequirements information element shall follow the indications provided in table 7.1.6.6.2-1.
Table 7.1.6.6.2-1: Attributes of the VirtualNetworkInterfaceRequirements information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
name | M | 0..1 | String | Provides a human readable name for the requirement. |
description | M | 0..1 | String | Provides a human readable description of the requirement. |
supportMandatory | M | 1 | Boolean | Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE). |
networkInterfaceRequirements | M | 1 | Not specified. | The network interface requirements. An element from an array of key-value pairs that articulate the network interface deployment requirements. |
nicIoRequirements | M | 0..1 | Identifier (reference to logicalNodeData) | This references (couples) the CPD with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CPD. |
7.1.6.7 VnfcConfigurableProperties information element
7.1.6.7.1 Description
This information element defines the configurable properties of a VNFC. For a VNFC instance, the value of these properties can be modified through the VNFM.
7.1.6.7.2 Attributes
The attributes of the VnfcConfigurableProperties information element shall follow the indications provided in table 7.1.6.7.2-1.
Table 7.1.6.7.2-1: Attributes of the VnfcConfigurableProperties information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
additionalVnfcConfigurableProperty | M | 0..N | It provides VNFC configurable properties that can be modified using the ModifyVnfInfo operation. |
7.1.6.8 NfviConstraint information element
7.1.6.8.1 Description
This information element defines…….
7.1.6.8.2 Attributes
The attributes of the NfviConstraint information element shall follow the indications provided in table 7.1.6.8.2-1.
Table 7.1.6.8.2-1: Attributes of the nfviConstraint information element
Attribute | Qualifier | Cardinality | Content | Description |
---|---|---|---|---|
AvailabilityZone | M | 0..1 | String | AvailabilityZone |
HostAggregates | M | 0..1 | String | HostAggregates |