Some VNF suppliers make use of the underlying hardware platform capabilities in order to accelerate performance and optimize throughput of their VNF products. In order to ensure proper instantiation and operation of such VNFs, the VNF descriptor (VNFD) is used to describe VNF-specific hardware platform (HPA) capability requirements that will be matched against the capabilities of the underlying hardware infrastructure resources, in order to ensure that appropriate resources are used for instantiation.
HPA Requirement Key/Value Pair Entry Format
HPA capability requirements are specified using a set of kev/value pair arrays within the VNFD. There are five types of HPA capability requirements that can be specified using the VNFD - CPU, memory, storage, network and NUMA. Each requirement type is specified using a separate key-value pair array. Each entry in the array fully defines a single HPA capability.
...
Array Entry | Values |
---|
<key> | A string specifying the name of a given HPA capability. |
<value> | A list of key-value pairs describing the configuration value of a given capability, where the key-value pairs are defined as follows |
| key | type | value |
---|
schema-version | string | A string describing the version the schema to be used for validation and interpretation of the <configuration-value>. | schema-location | string | A URL formatted string describing the location of the schema. | platform-id | string | A string describing what hardware platform associated with a given HPA capability. For vendor-neutral HPA capabilities, a value of "generic" is used. | mandatory | boolean | A boolean value specifying whether the requested capability is mandatory for for proper operation of the VNF. The value of "true" indicated that a given HPA capability must be present. The value of "false" indicates that the VNF can function with or without the capability. | configuration-value | string | A string describing the configuration value of a given capability, as defined by the schema. |
|
HPA Requirements | Attribute Name |
---|
Data Type | Capability/Requirement | Property | NodesDefined in... | Used in... |
---|
CPU | vdu_cpu_requirements | tosca.datatypes.nfv.VirtualCpu | tosca |
.capabilitiesnfv.VirtualComputevirtual_cpu | tosca.nodes.nfv.VDU.Compute |
Memory | vdu_memory_requirements | tosca.datatypes.nfv.VirtualMemory | tosca |
.capabilitiesnfv.VirtualComputevirtual_memory | tosca.nodes.nfv.VDU.Compute |
NIC | network_interface_requirements | tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements |
??? | ??? | tosca.nodes.nfv.VduCp tosca.nodes.nfv.VnfExtCp |
Storage | vdu_storage requirements | map |
??? | ??? | tosca.nodes.nfv.VDU.VirtualStorage |
NUMA | logical_node_requirements | tosca.datatypes.nfv.LogicalNodeData |
tosca.capabilities.nfv.VirtualCompute | logical_node | tosca.nodes.nfv.VDU.Compute |
CPU & Memory Requirements
...