VNF/CNF Data Model Based on ETSI v3.3.1 SOL001 plus CNF Enhancements
- 1 ETSI 3.3.1 SOL001 Data Model with minimum CNF Properties from 4.1.1
- 1.1 VNF Data Model
- 1.2 OsContainer VDU Data Model
- 1.3 VDU OsContainer Data Model
- 1.4 VDU OsContainerGroup Data Model
- 1.5 MciopProfile Data Model
- 1.6 VnfInstantiateOperationConfiguration Data Model
- 1.7 VnfMonitoringParameter Data Model
- 1.8 VnfProfile Data Model
- 1.9 SwImageData Data Model
- 1.10 BootData Data Model
- 1.11 BootDataVimSpecificProperties Data Model
- 1.12 KvpData Data Model
- 1.13 ContentOrFileData Data Model
- 1.14 ChecksumData Data Model
- 1.15 vduCp Data Model
- 1.16 vnfExtCp Data Model
- 1.17 VduCompute Data Model
- 1.18 VduVirtualBlockStorage Data Model
- 1.19 VduVirtualObjectStorage Data Model
- 1.20 VduVirtualFileStorage Data Model
- 1.21 VnfVirtualLink Data Model
- 1.22 VipCp Data Model
- 1.23 #VirtualCp Data Model
- 1.23.1 Data types. (Input from Michael Morris)
- 1.23.1.1 Changed
- 1.23.1.2 Unchanged
- 1.23.1.3 Not Present
- 1.23.1 Data types. (Input from Michael Morris)
The following describes Data Model based on the ETSI v3.3.1 SOL001 VNFD plus CNF enhancements, which came from 4.1.1.
2.7.x for backward compatibility during SDC onboarding + 3.3.1 with CNF enhancements
If the type is changed, separate properties for 2.7.x and 3.3.1 will be used
As the ETSI SOL001 WG produces a stable draft/release of SOL001 4.X specification , we expect to update the data model to align with that specifcation.
ETSI 3.3.1 SOL001 Data Model with minimum CNF Properties from 4.1.1
VNF Data Model
property "vnfm_info" constraint pattern: "(etsivnfm:v[0-9]?[0-9]\.[0-9]?[0-9]\.[0-9]?[0-9]$)|([0-9]:[a-zA-Z0-9.-]$)"
values must be in format etsivnfm:v3.3.1 or <int>:<string>
this is not enforced by constraint in type definition in ONAP
property "vnf_profile" has not changed, but it is commented out in existing version in ONAP
new attribute "scale_status" added
tosca.nodes.nfv.VNF: derived_from: tosca.nodes.Root description: The generic abstract type from which all VNF specific node types shall be derived to form, together with other node types, the TOSCA service template(s) representing the VNFD | |||
Id | Type | Cardinality | Description |
|---|---|---|---|
descriptor_id | String #UUID | 1 | Identifier for the VNFD |
descriptor_version | String | 1 | Identifies the version of the VNFD |
provider | String | 1 | provider of the VNF and of the VNFD |
product_name | String | 1 | name to identify the VNF product. Invariant for the VNF Product lifetime |
software_version | String | 1 | Software version of the VNF |
product_info_name | String | 0..1 | Human readable name of the VNF Product |
product_info_description | String | 0..1 | Human readable name for the VNF product |
vnfm_info | list of String | 1..n | Identifies VNFM(s) compatible with the VNF |
localization_languages | list of String | 0..n | Information about localization languages of the VNF |
lcm_operations_configuration | tosca.datatypes.nfv.VnfLcmOperationsConfiguration | 0..n | Describes the configuration parameters for the VNF LCM operations |
monitoring_parameters | list of tosca.datatypes.nfv.VnfMonitoringParameter | 0..n | Describes monitoring parameters applicable to the VNF. |
flavour_id | String | 1 | Identifier of the Deployment Flavour within the VNFD |
flavour_description | String | 1 | Human readable description of the DF |
vnf_profile | tosca.datatypes.nfv.VnfProfile | 0..1 | Describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF |
mciop_profile | list of tosca.datatypes.nfv.MciopProfile | 0..n | Describes additional instantiation data for the MCIOPs used in this deployment |
scale_status | map of tosca.datatypes.nfv.ScaleInfo | 0..n | Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. |
requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo occurrences: [ 0, 1 ] # Additional requirements shall be defined in the VNF specific node type (deriving from tosca.nodes.nfv.VNF) corresponding to NS virtual links that need to connect to VnfExtCps | |||
interfaces: Vnflcm: type: tosca.interfaces.nfv.Vnflcm # VnfIndicator: # type: tosca.interfaces.nfv.VnfIndicator # derived types are expected to introduce Vnf Indicator interfaces # with their type derived from tosca.interfaces.nfv.VnfIndicator | |||
|
|
|
|
OsContainer VDU Data Model
VDU OsContainer Data Model
tosca.nodes.nfv.Vdu.osContainer: derived_from: tosca.nodes.Root description: Describes the resources of a single container within a VDU | |||
Id | Type | Cardinality | Description |
|---|---|---|---|
name | String | 1 | Human readable name of the Container |
description | String | 1 | Human readable description of the Container |
logical_node | map of tosca.datatypes.nfv.LogicalNodeData | 0..n | Describes the logical node requirements |
requested_additional_capabilities | map of tosca.datatypes.nfv.RequestedAdditionalCapability | 0..n | Describes additional capabilities to host this container |
requestedCpuResources | integer | 0..1 | Number of milli-Cpus |
CpuResourcesLimit | integer | 0..1 | Limit (Max) Number of milli-Cpus |
requestedMemoryResources | scalar-unit.size | 0..1 | Amount of Memory requested |
MemoryResourcesLimit | scalar-unit.size | 0..1 | Limit (Max) Memory |
requestedEphemeralStorageResources | scalar-unit.size | 0..1 | Amount of Ephemeral Storage Requested |
ephemeralStorageResourcesLimit | scalar-unit.size | 0..1 | Limit on Ephemeral Storage |
capabilities: ContainerGroupable: type: tosca.capabilities.nfv.ContainerGroupable occurrences: [ 1, UNBOUNDED ] | |||
VDU OsContainerGroup Data Model
tosca.nodes.nfv.Vdu.osContainerGroup: derived_from: tosca.nodes.Root description: Describes the aggregate of container(s) of a VDU which is a construct supporting the description of the deployment and operational behavior of a VNFC; Corresponds to a "Pod" in K8S; Can have multiple constitute containers. | |||
Id | Type | Cardinality | Description |
|---|---|---|---|
name | String | 1 | Human readable name of the VDU |
description | String | 1 | Human readable description of the VDU |
nfvi_constraints | map of String | 0..n | Describes constraints on the NFVI for the VNFC instance(s) created from this VDU. This property is reserved for future use in the present document. |
monitoring_parameters | list of tosca.datatypes.nfv.VnfcMonitoringParameter | 0..n | Describes monitoring parameters applicable to a VNFC instantiated from this VDU; Per Container on IFA011 v4.1.1 but more relevant at the VDU (Pod) Level |
#configurable_properties | tosca.datatypes.nfv.VnfcConfigurableProperties | 0..1 | # derived types are expected to introduce configurable_properties with its type derived from tosca.datatypes.nfv.VnfcConfigurableProperties |
vdu_profile | tosca.datatypes.nfv.VduProfile | 1 | Defines additional instantiation data for the Vdu.OsContainerGroup node |
boot_data | tosca.datatypes.nfv.BootData | 0..1 | Contains the information used to customize a container compute resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent Per Container on IFA011 v4.1.1 but more relevant at the VDU (Pod) Level |
capabilities: virtual_binding: type: tosca.capabilities.nfv.VirtualBindable occurrences: [ 1, UNBOUNDED ] | |||
requirements: - virtual_storage: capability: tosca.capabilities.nfv.VirtualStorage relationship: tosca.relationships.nfv.AttachesTo occurrences: [ 0, UNBOUNDED ] - container_grouping: capability: tosca.capabilities.nfv.ContainerGroupable relationship: tosca.relationships.nfv.GroupsTo occurrences: [ 1, UNBOUNDED ] | |||
MciopProfile Data Model
tosca.datatypes.nfv.MciopProfile: derived_from: tosca.datatypes.Root description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF. | ||||
Id | Type | Cardinality | Constraints | Description |
|---|---|---|---|---|
mciopId | String | 1 |
| Identifies the MCIOP in the VNF package. |
deploymentOrder | Integer | 0..1 | greater_or_equal: 0 | Indicates the order in which this MCIOP shall be deployed in relation to other MCIOPs. A lower value specifies an earlier deployment. null is allowed |
# affinityOrAntiAffinityGroupId | list of String | 0..n |
| References the affinity or anti-affinity groups(s) the MCIOP belongs to. |
associatedVdu | list of String | 0..n |
| List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP |
VnfInstantiateOperationConfiguration Data Model
tosca.datatypes.nfv.VnfInstantiateOperationConfiguration: derived_from: tosca.datatypes.Root description: represents information that affect the invocation of the InstantiateVnf operation. | ||||
Id | Type | Cardinality | Constraints | Description |
|---|---|---|---|---|
description | String | 0..1 |
| Description of VnfInstantiateOperationConfiguration |
|
|
|
|
|
|
|
|
|
|
VnfMonitoringParameter Data Model
tosca.datatypes.nfv.VnfMonitoringParameter: | ||||
Id | Type | Cardinality | Constraints | Description |
|---|---|---|---|---|
name | String | 1 |
| Human readable name of the monitoring parameter |
performance_metric | String | 1 | - valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf, | Identifies the performance metric, according to ETSI GS NFV-IFA 027. |
collection_period | scalar-unit.time | 0..1 | - greater_than: 0 s | Describes the recommended periodicity at which to collect the performance information. |
|
|
|
|
|
VnfProfile Data Model
tosca.datatypes.nfv.VnfProfile: | ||||
Id | Type | Cardinality | Constraints | Description |
|---|---|---|---|---|
instantiation_level | String | 0..1 |
| Identifier of the instantiation level of the VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used |
min_number_of_instances | Integer | 1 | - greater_or_equal: 0 | Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. |
max_number_of_instances | Integer | 1 | - greater_or_equal: 0 | Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. |
service_availability_level | ||||