NFVI Platform Capability Registry: Difference between revisions
No edit summary |
Martindenico (talk | contribs) (Added the cni capability as per approved contribution NFVSOL(22)000178r4) |
||
(20 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
This is the ETSI registry for key/value pairs used to represent | This is the ETSI registry for key/value pairs used to represent NFVI platform capabilities and settings, as part of NFV VNF descriptors (VNFD). | ||
{| class="wikitable" | {| class="wikitable" | ||
! | |+ | ||
!Capability | |||
!Category | |||
!Registrant | |||
|- | |||
|[[cni]] | |||
|Network | |||
|ETSI ISG NFV | |||
|} | |||
== '''Introduction''' == | |||
Some VNF suppliers make use of the underlying NFVI 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 is used to describe VNF-specific NFVI platform 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. | |||
This registry is defined to specify capabilities that are generic to all vendors of NFVI platform components, as well as capabilities that are NFVI vendor specific. There are five different categories of capability requirements that can be specified in the VNFD: CPU, memory, storage, network and logical node requirements. They are defined in terms of data model (i.e. TOSCA, YANG) neutral attributes within information elements specified in ETSI GS NFV-IFA 011 version 2.5.1 and beyond. | |||
The table below provides an overview of the information elements and attributes defined in ETSI GS NFV-IFA 011 where the capability requirements are included for each of these five categories. | |||
{| class="wikitable" | |||
!Category | |||
!IFA011 Information Element | !IFA011 Information Element | ||
!Attribute | !Attribute | ||
Line 28: | Line 43: | ||
| colspan="1" |LogicalNodeRequirements | | colspan="1" |LogicalNodeRequirements | ||
| colspan="1" |logicalNodeRequirementDetail | | colspan="1" |logicalNodeRequirementDetail | ||
|}Each | |}Each category corresponds to a table in the registry, with the entries in each table specifying the NFVI platform capabilities of this category. Each entry contains the following information items: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 35: | Line 50: | ||
|- | |- | ||
|Permitted Value | |Permitted Value | ||
|One or more permitted values used to configure the capability specified in lower camel case | |One or more permitted values used to configure the capability specified in lower camel case.This information may be omitted when a schema is specified. | ||
|- | |- | ||
|Version | |Version | ||
Line 41: | Line 56: | ||
|- | |- | ||
|Schema | |Schema | ||
|The schema used to validate and configure the associated value. | |The schema used to validate and configure the associated value. This information may be omitted if the list of permitted values is present. If present the schema shall be a JSON schema. The use of a JSON schema does not imply the use of JSON in the VNFD for configuring the value. | ||
|- | |- | ||
| | |Type | ||
|If the capability is | |If the capability is applicable to any NFVI platform then this takes a value of "Generic". If not, the value is vendor specific such as Intel ® or ARM ®, etc. | ||
|- | |- | ||
|Description | |Description | ||
|A short description of the capability, such as “memory page size. | |A short description of the capability, such as “memory page size. | ||
|} | |} | ||
The process for creating entries in this registry is subject to a governance process described in | The process for creating entries in this registry is subject to a governance process described in [[HPC registry operation | HPC registry operation]]. | ||
= '''The Registry''' = | == '''The Registry''' == | ||
The entries in the tables below represent | The entries in the tables below represent NFVI capabilities supported by NFVI vendors of NFVI components. When a capability is identified as "Generic" it implies the capability is applicable to any NFVI platform. Otherwise the NFVI capability is specified as vendor specific and thus is only supported by NFVI platform components provided by that vendor. | ||
== CPU Requirements – Example entry in the Registry == | === CPU Requirements – Example entry in the Registry === | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Name''' | |'''Name''' | ||
|'''Value''' | |'''Permitted Value''' | ||
|'''Version''' | |'''Version''' | ||
|'''Schema''' | |'''Schema''' | ||
|''' | |'''Type''' | ||
|'''Description''' | |'''Description''' | ||
|- | |- | ||
Line 74: | Line 89: | ||
|} | |} | ||
== Memory Requirements – Example entry in the Registry == | === Memory Requirements – Example entry in the Registry === | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Name''' | |'''Name''' | ||
|'''Value''' | |'''Permitted Value''' | ||
|'''Version''' | |'''Version''' | ||
|'''Schema''' | |'''Schema''' | ||
|''' | |'''Type''' | ||
|'''Description''' | |'''Description''' | ||
|- | |- | ||
Line 91: | Line 106: | ||
|} | |} | ||
== Storage Requirements – Example entry in the Registry == | === Storage Requirements – Example entry in the Registry === | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Name''' | |'''Name''' | ||
|'''Value''' | |'''Permitted Value''' | ||
|'''Version''' | |'''Version''' | ||
|'''Schema''' | |'''Schema''' | ||
|''' | |'''Type''' | ||
|'''Description''' | |'''Description''' | ||
|- | |- | ||
Line 117: | Line 132: | ||
|} | |} | ||
== Network Requirements – Example entry in the Registry == | === Network Requirements – Example entry in the Registry === | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Name''' | |'''Name''' | ||
|'''Value''' | |'''Permitted Value''' | ||
|'''Version''' | |'''Version''' | ||
|'''Schema''' | |'''Schema''' | ||
|''' | |'''Type''' | ||
|'''Description''' | |'''Description''' | ||
|- | |- | ||
Line 134: | Line 149: | ||
|} | |} | ||
== Logical Node Requirement Detail == | === Logical Node Requirement Detail === | ||
The logical node requirements are broken-out into three types: Compute, Memory, and I/O. | The logical node requirements are broken-out into three types: Compute, Memory, and I/O. | ||
=== Logical Node Compute Requirements – Example entry in the Registry === | ==== Logical Node Compute Requirements – Example entry in the Registry ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Name''' | |'''Name''' | ||
|'''Value''' | |'''Permitted Value''' | ||
|'''Version''' | |'''Version''' | ||
|'''Schema''' | |'''Schema''' | ||
|''' | |'''Type''' | ||
|'''Description''' | |'''Description''' | ||
|- | |- | ||
Line 154: | Line 169: | ||
|} | |} | ||
=== Logical Node Memory Requirements – Example entry in the Registry === | ==== Logical Node Memory Requirements – Example entry in the Registry ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Name''' | |'''Name''' | ||
|'''Value''' | |'''Permitted Value''' | ||
|'''Version''' | |'''Version''' | ||
|'''Schema''' | |'''Schema''' | ||
|''' | |'''Type''' | ||
|'''Description''' | |'''Description''' | ||
|- | |- | ||
Line 171: | Line 186: | ||
|} | |} | ||
=== Logical Node I/O Requirements – Example entry in the Registry === | ==== Logical Node I/O Requirements – Example entry in the Registry ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Name''' | |'''Name''' | ||
|'''Value''' | |'''Permitted Value''' | ||
|'''Version''' | |'''Version''' | ||
|'''Schema''' | |'''Schema''' | ||
|''' | |'''Type''' | ||
|'''Description''' | |'''Description''' | ||
|- | |- | ||
Line 188: | Line 203: | ||
|} | |} | ||
= '''Mappings to Specific Data Models''' = | == '''Mappings to Specific Data Models''' == | ||
== Mapping to ETSI NFV-SOL 001 data model (TOSCA<ins>)</ins> == | === Mapping to ETSI GS NFV-SOL 001 data model (TOSCA<ins>)</ins> === | ||
=== Mapping Table === | ==== Mapping Table ==== | ||
For each of the five platform capability categories - CPU, memory, storage, network and logical node - the associated attribute defined in ETSI GS NFV-IFA 011 is mapped to a property of type “map of string” of a TOSCA data type specified in ETSI NFV-SOL | For each of the five platform capability categories - CPU, memory, storage, network and logical node - the associated attribute defined in ETSI GS NFV-IFA 011 is mapped to a property of type “map of string” of a TOSCA data type specified in ETSI GS NFV-SOL 001. The following table describes for each attribute defined in ETSI GS NFV-IFA 011 and representing one of these five categories, the corresponding TOSCA property, the TOSCA data type where this property is used and the TOSCA node type where this data type is used, in accordance with ETSI GS NFV-SOL<ins> </ins>001 v2.5.1 and beyond. | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Category''' | |'''Category''' | ||
Line 236: | Line 251: | ||
|} | |} | ||
=== Key/Value Pair Entry Format === | ==== Key/Value Pair Entry Format ==== | ||
Each entry in the hash maps defined above fully defines a single | Each entry in the hash maps defined above fully defines a single NFVI platform capability. Within a given hash map entry, the "key" portion of the entry contains the capability name (as defined in the registry) and the "value" portion contains structured data in the form of key value pairs as described in the following table. | ||
{| class="wikitable" | {| class="wikitable" | ||
|'''Array Entry''' | |'''Array Entry''' | ||
Line 247: | Line 258: | ||
|- | |- | ||
|<key> | |<key> | ||
|A string specifying the name of a given | |A string specifying the name of a given NFVI platform capability as defined in the "name" element of an entry of a given registry table. | ||
|- | |- | ||
|<value> | |<value> | ||
| | |An optional map of key-value pairs describing the configuration value of a given capability, where the key-value pairs are defined as follows | ||
|- | |- | ||
| | | | ||
Line 259: | Line 270: | ||
|'''value''' | |'''value''' | ||
|- | |- | ||
| | |version | ||
|string | |string | ||
|A string describing the version | |A quoted string describing the version of the capability. This is taken from the “version” element of an entry of a given registry table. If absent, any version of the capability can be used to fulfil the requirement. | ||
|- | |- | ||
|mandatory | |mandatory | ||
|string | |string | ||
|A boolean value expressed in string type specifying whether the requested capability is mandatory for proper | |A boolean value expressed in quoted string type specifying whether the requested capability is mandatory for proper operation of the VNF. The value of "true" indicates that a given NFVI platform capability must be present. The value of "false" indicates that the VNF can function with or without the capability. If absent, the value of “false” is assumed. | ||
|- | |- | ||
|configurationValue | |configurationValue | ||
|string | |string | ||
|A string describing the configuration | |A quoted string describing the configuration value of a given capability, as defined by the schema or the permitted values specified in the registry. If absent, no particular configuration is required. The configuration value can consist in turn of a list of key/value pairs as there can be multiple parameters to configure. The format of the configuration value in a property in SOL001 is YAML, independently of whether the registration of the capability includes a JSON schema or a description of permitted values in free text. | ||
|} | |} | ||
|- | |- | ||
|... | |... | ||
|Structured data representing the | |Structured data representing the NFVI platform capability configuration value-specific attributes can vary from a single attribute to complex permutations of simple attributes, lists and hash maps. | ||
|} | |} | ||
=== | ==== Examples ==== | ||
== | |||
==== CPU | ===== CPU NFVI Capabilities ===== | ||
Usage of vdu_cpu_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there is one | Usage of vdu_cpu_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there is one NFVI capability being defined: simulatenousMultiThreading. This is the “key”. The associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value. | ||
<some entity> | <some entity> | ||
Line 299: | Line 300: | ||
vdu_cpu_requirements: | vdu_cpu_requirements: | ||
simultaneousMultiThreading: | simultaneousMultiThreading: | | ||
mandatory: "true" | |||
configurationValue: "enabled" | configurationValue: "enabled" | ||
Line 313: | Line 308: | ||
... | ... | ||
==== Memory Hardware Capabilities ==== | ===== Memory Hardware Capabilities ===== | ||
Usage of vdu_mem_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there are two | Usage of vdu_mem_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there are two NFVI capabilities being defined: memoryPageSize and numberOfPages. These are the “keys”. Each associated “value” is composed of a specification of: "mandatory" and "configurationValue" which form a complex value. | ||
<some entity> | <some entity> | ||
Line 322: | Line 317: | ||
properties: | properties: | ||
vdu_mem_requirements: | vdu_mem_requirements: | ||
memoryPageSize: | | |||
mandatory: true | mandatory: "true" | ||
configurationValue: "2 MB" | configurationValue: "2 MB" | ||
numberOfPages: | numberOfPages: | | ||
mandatory: true | mandatory: "true" | ||
configurationValue: "1024" | configurationValue: "1024" | ||
Line 352: | Line 335: | ||
... | ... | ||
==== Storage Hardware Capabilities ==== | ===== Storage Hardware Capabilities ===== | ||
Usage of vdu_storage_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.VirtualBlockStorage. Note in this example that there is one | Usage of vdu_storage_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.VirtualBlockStorage. Note in this example that there is one NFVI capability being defined: storageResiliencyMechanism. This is the “key”. The associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value. | ||
<some entity> | <some entity> | ||
Line 363: | Line 346: | ||
vdu_storage_requirements: | vdu_storage_requirements: | ||
storageResiliencyMechanism: | storageResiliencyMechanism: | | ||
mandatory: "true" | |||
configurationValue: "tripleReplication" | configurationValue: "tripleReplication" | ||
Line 379: | Line 356: | ||
... | ... | ||
==== Network Hardware Capabilities ==== | ===== Network Hardware Capabilities ===== | ||
Usage of network_interface_requirements key-value pairs as specified in tosca.nodes.nfv.VduCp or tosca.nodes.nfv.VnfExtCp. Note in this example that there is one | Usage of network_interface_requirements key-value pairs as specified in tosca.nodes.nfv.VduCp or tosca.nodes.nfv.VnfExtCp. Note in this example that there is one NFVI capability being defined: dataProcessingAccelerationLibrary. This is the “key”. The associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value. | ||
<some entity> | <some entity> | ||
Line 390: | Line 367: | ||
network_interface_requirements: | network_interface_requirements: | ||
dataProcessingAccelerationLibrary: | dataProcessingAccelerationLibrary: | | ||
mandatory: "true" | |||
configurationValue: "dpdk" | configurationValue: "dpdk" | ||
Line 406: | Line 377: | ||
... | ... | ||
==== Logical Node Hardware Capabilities ==== | ===== Logical Node Hardware Capabilities ===== | ||
Usage of logical_node_requirements key-value pairs pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there are three | Usage of logical_node_requirements key-value pairs pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there are three NFVI capabilities being defined: numberCpu, localNumaMemorySize, and pciDeviceLocalToNumaNode. These are the “keys”. Each associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value. | ||
<some entity> | <some entity> | ||
Line 417: | Line 388: | ||
logical_node_requirements: | logical_node_requirements: | ||
numberCpu: | numberCpu: | | ||
mandatory: "true" | |||
configurationValue: "1" | configurationValue: "1" | ||
localNumaMemorySize: | localNumaMemorySize: | | ||
mandatory: true | mandatory: "true" | ||
configurationValue: "4096" | configurationValue: "4096" | ||
pciDeviceLocalToNumaNode: | pciDeviceLocalToNumaNode: | | ||
mandatory: "true" | |||
configurationValue: "required" | configurationValue: "required" | ||
Line 457: | Line 410: | ||
... | ... | ||
== Mapping to ETSI NFV-SOL 006 data model (YANG) == | ==== Mapping to ETSI NFV-SOL 006 data model (YANG) ==== | ||
To be defined | To be defined | ||
== '''Registration process''' == | |||
[https://nfvwiki.etsi.org/index.php?title=File:Template_Capability_registration_template_for_HPC_registry.docx Link to Registration Template] | |||
[https://nfvwiki.etsi.org/index.php?title=HPC_registry_operation Operation of the Registry] |
Latest revision as of 07:51, 31 May 2022
This is the ETSI registry for key/value pairs used to represent NFVI platform capabilities and settings, as part of NFV VNF descriptors (VNFD).
Capability | Category | Registrant |
---|---|---|
cni | Network | ETSI ISG NFV |
Introduction
Some VNF suppliers make use of the underlying NFVI 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 is used to describe VNF-specific NFVI platform 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.
This registry is defined to specify capabilities that are generic to all vendors of NFVI platform components, as well as capabilities that are NFVI vendor specific. There are five different categories of capability requirements that can be specified in the VNFD: CPU, memory, storage, network and logical node requirements. They are defined in terms of data model (i.e. TOSCA, YANG) neutral attributes within information elements specified in ETSI GS NFV-IFA 011 version 2.5.1 and beyond.
The table below provides an overview of the information elements and attributes defined in ETSI GS NFV-IFA 011 where the capability requirements are included for each of these five categories.
Category | IFA011 Information Element | Attribute |
---|---|---|
CPU | VirtualCpuData | vduCpuRequirements |
MEMORY | VirtualMemoryData | vduMemRequirements |
STORAGE | BlockStorageData | vduStorageRequirements |
NETWORK | VirtualNetworkInterfaceRequirements | networkInterfaceRequirements |
LOGICAL NODE | LogicalNodeRequirements | logicalNodeRequirementDetail |
Each category corresponds to a table in the registry, with the entries in each table specifying the NFVI platform capabilities of this category. Each entry contains the following information items:
Name | The name of the capability specified in lower camel case, for example memoryPageSize. |
Permitted Value | One or more permitted values used to configure the capability specified in lower camel case.This information may be omitted when a schema is specified. |
Version | The version of the capability specified as a decimal (X.X). There may be multiple versions supported. The versioning shall begin with 1.0 and be increased every time there is a change to the capability. |
Schema | The schema used to validate and configure the associated value. This information may be omitted if the list of permitted values is present. If present the schema shall be a JSON schema. The use of a JSON schema does not imply the use of JSON in the VNFD for configuring the value. |
Type | If the capability is applicable to any NFVI platform then this takes a value of "Generic". If not, the value is vendor specific such as Intel ® or ARM ®, etc. |
Description | A short description of the capability, such as “memory page size. |
The process for creating entries in this registry is subject to a governance process described in HPC registry operation.
The Registry
The entries in the tables below represent NFVI capabilities supported by NFVI vendors of NFVI components. When a capability is identified as "Generic" it implies the capability is applicable to any NFVI platform. Otherwise the NFVI capability is specified as vendor specific and thus is only supported by NFVI platform components provided by that vendor.
CPU Requirements – Example entry in the Registry
Name | Permitted Value | Version | Schema | Type | Description |
cpuModelSpecificationBinding | strictBinding
equalOrBetterBinding |
1.0 | Generic | VDUs may be developed, compiled, optimized or validated on particular CPU models. Some deployments may wish to permit the VDU to be deployed on a platform with the specified CPU only, or with an alternative CPU with the same architecture, instruction set, and if specified, instruction set extensions, or with a CPU of equivalent or greater capability. |
Memory Requirements – Example entry in the Registry
Name | Permitted Value | Version | Schema | Type | Description |
memoryPageSize | ANY, 4KB, 2MB, 1GB | 1.0 | Generic | Memory page size |
Storage Requirements – Example entry in the Registry
Name | Permitted Value | Version | Schema | Type | Description |
storageLops | 0..N | 1.0 | Generic | Required storage characteristics (e.g. speed), including Key Quality Indicators (KQIs) for performance and reliability/availability | |
storageResilencyMechanism | Erasure
tripleReplication |
1.0 | Generic | Erasure code based back-end, triple replication based back-end for ensuring data resiliency. |
Network Requirements – Example entry in the Registry
Name | Permitted Value | Version | Schema | Type | Description |
nicFeature | LSO, LRO, RSS, RDMA | 1.0 | Generic | Long list of NIC related items such as LSO, LRO, RSS, RDMA, etc |
Logical Node Requirement Detail
The logical node requirements are broken-out into three types: Compute, Memory, and I/O.
Logical Node Compute Requirements – Example entry in the Registry
Name | Permitted Value | Version | Schema | Type | Description |
numberCpu | 0..N | 1.0 | Generic | Number of CPU cores for this logical node. The cumulative number of CPU requests per node must equal the VDU level numVirtualCpu requirement. |
Logical Node Memory Requirements – Example entry in the Registry
Name | Permitted Value | Version | Schema | Type | Description |
localNumaMemorySize | 0..N | 1.0 | Generic | The amount of memory that needs to be collocated with this specific logical (NUMA) node. |
Logical Node I/O Requirements – Example entry in the Registry
Name | Permitted Value | Version | Schema | Type | Description |
pciVendorId | 1.0 | Generic | PCI-SIG vendor ID for the device |
Mappings to Specific Data Models
Mapping to ETSI GS NFV-SOL 001 data model (TOSCA)
Mapping Table
For each of the five platform capability categories - CPU, memory, storage, network and logical node - the associated attribute defined in ETSI GS NFV-IFA 011 is mapped to a property of type “map of string” of a TOSCA data type specified in ETSI GS NFV-SOL 001. The following table describes for each attribute defined in ETSI GS NFV-IFA 011 and representing one of these five categories, the corresponding TOSCA property, the TOSCA data type where this property is used and the TOSCA node type where this data type is used, in accordance with ETSI GS NFV-SOL 001 v2.5.1 and beyond.
Category | IFA011 Attribute | As Property | Data Type Defined in SOL001 | Used in SOL001 |
CPU | vduCpuRequirements | vdu_cpu_requirements | tosca.datatypes.nfv.VirtualCpu | tosca.nodes.nfv.Vdu.Compute |
Memory | vduMemRequirements | vdu_mem_requirements | tosca.datatypes.nfv.VirtualMemory | tosca.nodes.nfv.Vdu.Compute |
Network | networkInterfaceRequirements | network_interface_requirements | tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements | tosca.nodes.nfv.VduCp
tosca.nodes.nfv.VnfExtCp |
Storage | vduStorageRequirements | vdu_storage_requirements | tosca.datatypes.nfv.VirtualBlockStorageData | tosca.nodes.nfv.Vdu.VirtualBlockStorage
|
Logical Node | logicalNodeRequirementDetail | logical_node_requirements | tosca.datatypes.nfv.LogicalNodeData | tosca.nodes.nfv.Vdu.Compute |
Key/Value Pair Entry Format
Each entry in the hash maps defined above fully defines a single NFVI platform capability. Within a given hash map entry, the "key" portion of the entry contains the capability name (as defined in the registry) and the "value" portion contains structured data in the form of key value pairs as described in the following table.
Array Entry | Values | ||||||||||||
<key> | A string specifying the name of a given NFVI platform capability as defined in the "name" element of an entry of a given registry table. | ||||||||||||
<value> | An optional map of key-value pairs describing the configuration value of a given capability, where the key-value pairs are defined as follows | ||||||||||||
| |||||||||||||
... | Structured data representing the NFVI platform capability configuration value-specific attributes can vary from a single attribute to complex permutations of simple attributes, lists and hash maps. |
Examples
CPU NFVI Capabilities
Usage of vdu_cpu_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there is one NFVI capability being defined: simulatenousMultiThreading. This is the “key”. The associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value.
<some entity>
...
properties:
vdu_cpu_requirements:
simultaneousMultiThreading: |
mandatory: "true"
configurationValue: "enabled"
...
Memory Hardware Capabilities
Usage of vdu_mem_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there are two NFVI capabilities being defined: memoryPageSize and numberOfPages. These are the “keys”. Each associated “value” is composed of a specification of: "mandatory" and "configurationValue" which form a complex value.
<some entity>
...
properties:
vdu_mem_requirements:
memoryPageSize: |
mandatory: "true"
configurationValue: "2 MB"
numberOfPages: |
mandatory: "true"
configurationValue: "1024"
...
...
Storage Hardware Capabilities
Usage of vdu_storage_requirements key-value pairs as specified in tosca.nodes.nfv.Vdu.VirtualBlockStorage. Note in this example that there is one NFVI capability being defined: storageResiliencyMechanism. This is the “key”. The associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value.
<some entity>
...
properties:
vdu_storage_requirements:
storageResiliencyMechanism: |
mandatory: "true"
configurationValue: "tripleReplication"
...
...
Network Hardware Capabilities
Usage of network_interface_requirements key-value pairs as specified in tosca.nodes.nfv.VduCp or tosca.nodes.nfv.VnfExtCp. Note in this example that there is one NFVI capability being defined: dataProcessingAccelerationLibrary. This is the “key”. The associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value.
<some entity>
...
properties:
network_interface_requirements:
dataProcessingAccelerationLibrary: |
mandatory: "true"
configurationValue: "dpdk"
...
...
Logical Node Hardware Capabilities
Usage of logical_node_requirements key-value pairs pairs as specified in tosca.nodes.nfv.Vdu.Compute. Note in this example that there are three NFVI capabilities being defined: numberCpu, localNumaMemorySize, and pciDeviceLocalToNumaNode. These are the “keys”. Each associated “value” is composed of a specification of "mandatory" and "configurationValue" which form a complex value.
<some entity>
...
properties:
logical_node_requirements:
numberCpu: |
mandatory: "true"
configurationValue: "1"
localNumaMemorySize: |
mandatory: "true"
configurationValue: "4096"
pciDeviceLocalToNumaNode: |
mandatory: "true"
configurationValue: "required"
...
...
Mapping to ETSI NFV-SOL 006 data model (YANG)
To be defined