Proposed R9+ VNF/CNF Data Model Based on ETSI SOL001 v4.2.1
- 1 ETSI SOL001 v4.2.1 Data Model with CNF support
- 1.1 VNF Data Model
- 1.2 OsContainer VDU Data Model
- 1.3 VDU OsContainer Data Model
- 1.4 VDU OsContainerDeployableUnit Data Model
- 1.5 Mciop 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 v4.2.1 SOL001 VNFD with CNF support.
2.7.x for backward compatibility during SDC onboarding + 4.2.1 with CNF
If the type is changed, separate properties for 2.7.x and 4.2.1 will be used
ETSI SOL001 v4.2.1 Data Model with CNF support
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 |
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 |
requested_ cpu_resources | integer | 0..1 | Number of milli-Cpus |
cpu_resources_limit | integer | 0..1 | Limit (Max) Number of milli-Cpus |
requested_memory_resources | scalar-unit.size | 0..1 | Amount of Memory requested |
memory_resources_limit | scalar-unit.size | 0..1 | Limit (Max) Memory |
requested_ephemeral_storage_resources | scalar-unit.size | 0..1 | Amount of Ephemeral Storage Requested |
ephemeral_storage_resources_limit | scalar-unit.size | 0..1 | Limit on Ephemeral Storage |
capabilities: container_deployable: type: tosca.capabilities.nfv.ContainerDeployable occurrences: [ 1, UNBOUNDED ] | |||
VDU OsContainerDeployableUnit Data Model
tosca.nodes.nfv.Vdu.osContainerDeployableUnit: 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 |
logical_node | Map of tosca.datatypes.nfv.LogicalNodeData | 0..1 | Describes the Logical Node requirements |
requested_additional_capabilities | Map of tosca.datatypes.nfv.RequestedAdditionalCapability | 0..1 | Describes additional capability for a particular OS container. |
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 | Describes the configurable properties of all VNFC instances based on this VDU. |
vdu_profile | tosca.datatypes.nfv.VduProfile | 1 | Defines additional instantiation data for the Vdu.OsContainerGroup node |
capabilities: virtual_binding: type: tosca.capabilities.nfv.VirtualBindable occurrences: [ 1, UNBOUNDED ] associable: type: tosca.capabilities.nfv.AssociableVdu occurrences: [ 1, 1 ] | |||
requirements: - virtual_storage: capability: tosca.capabilities.nfv.VirtualStorage relationship: tosca.relationships.nfv.AttachesTo occurrences: [ 0, UNBOUNDED ] - container_deployable_unit: capability: tosca.capabilities.nfv.ContainerDeployable relationship: tosca.relationships.nfv.DeploysTo occurrences: [ 1, UNBOUNDED ] | |||
Mciop Data Model
tosca.nodes.nfv.Mciop: derived_from: tosca.Nodes.Root description: Representation of the object described by the mciop artifact, capable of being profiled by the properties of the MciopProfile information element defined in ETSI GS NFV-IFA 011 [1]. | ||||
Id | Type | Cardinality | Constraints | Description |
|---|---|---|---|---|
requirements: - associatedVdu: capability: tosca.capabilities.nfv.AssociableVdu relationship: tosca.relationships.nfv.Associates node: tosca.nodes.nfv.OsContainerDeployableUnit occurrences: [ 0, UNBOUNDED ] Note: The dependson requirement as defined TOSCA-Simple-Profile-YAML-v1.3 may be used towards other Mciop nodes to express the order of deployment. | ||||
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 | Integer | 0..1 | greater_or_equal: 1 | If present, specifies the service availability level for the VNF instance created from this profile. |
SwImageData Data Model
Change: checksum propeorty is used to be string in 2.6.x. Now, it is tosca.datatypes.nfv.ChecksumData. During SDC onboarding, the old type checksum data will be stored in a new property in SDC (e.g., checksum261).
tosca.datatypes.nfv.SwImageData: derived_from: tosca.datatypes.Root description: describes information related to a software image artifact | ||||
Id | Type | Cardinality | Constraints | Description |
|---|---|---|---|---|
name | String | |||