...
The following describes Data Model based on the ETSI v3v4.32.1 SOL001 VNFD plus CNF enhancements, which came from 4.1.1with 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 34.32.1 will be used
ETSI SOL001
...
ETSI SOL001 v4.2.1 Data Model with CNF support
Gliffy | ||||||
---|---|---|---|---|---|---|
|
Gliffy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Gliffy | ||||||||
---|---|---|---|---|---|---|---|---|
|
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
Gliffy | ||||||
---|---|---|---|---|---|---|
|
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_ | additionalcpu_ | capabilitiesmap of tosca.datatypes.nfv.RequestedAdditionalCapability | 0..n | Describes additional capabilities to host this container | requestedCpuResources | resources | integer | 0..1 | Number of milli-Cpus |
CpuResourcesLimitcpu_resources_limit | integer | 0..1 | Limit (Max) Number of milli-Cpus | ||||||
requestedMemoryResourcesrequested_memory_resources | scalar-unit.size | 0..1 | Amount of Memory requested | ||||||
MemoryResourcesLimitmemory_resources_limit | scalar-unit.size | 0..1 | Limit (Max) Memory | ||||||
requestedEphemeralStorageResourcesrequested_ephemeral_storage_resources | scalar-unit.size | 0..1 | Amount of Ephemeral Storage Requested | ||||||
ephemeralStorageResourcesLimitephemeral_storage_resources_limit | scalar-unit.size | 0..1 | Limit on Ephemeral Storage | ||||||
capabilities: ContainerGroupablecontainer_deployable: type: tosca.capabilities.nfv.ContainerGroupableContainerDeployable 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 |
boot_data
tosca.datatypes.nfv.BootData
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_groupingcapabilities: 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
Gliffy macroId 52d3d86d647a4106-0434061b-45654156-9ea9851e-ca1b16d0c8fff97e1fa3dc2c name 4.12.1 MciopProfilemciop Node pagePin 1
tosca.datatypesnodes.nfv.MciopProfileMciop: derived_from: tosca.datatypesNodes.Root description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF 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 | 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 | 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.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).
...
vduCp Data Model
- tosca.nodes.nfv.VduCP
- No Change since 4.2.7.11 added trunk_binding capability
- 4.2.1 removed the container_binding requirement from 4.1.1 based model
- 4.2.1 removed the node Vdu.Compute constraint from the virtual_binding requirement so that VduCp can also reference Vdu.OsContainerDeployableUnit
vnfExtCp Data Model
- tosca.nodes.nfv.VnfExtCP
- No Change since 2.7.1
- There are some changes from 2.6.1 to 2.7.1
- property "vnic_type" has the following extra valid_values:
- macvtap, baremetal, virtio-forwarder, smart-nic
- and the following removed valid_values - backwards incompatible:
- virtio
- requirement "virtual_link" cardinality changed from default (1-1) to 0-1
- requirement "virtual_binding" cardinality changed from default (1-1) to 1-1, i.e. no effective change
- property "vnic_type" has the following extra valid_values:
- requirement "external_virtual_link" cardinality changed from default (1-1) to 0-1
- requirement "internal_virtual_link" cardinality changed from default (1-1) to 1-1, i.e. no effective change
...
tosca.nodes.nfv.Vdu.Compute: derived_from: tosca.nodes.Root description: Describes the virtual compute part of a VDU which is a construct supporting the description of the deployment and operational behavior of a VNFC | ||||||||||||||||||||||||
Id | Type | Cardinality | Constraints | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | String | 1 | Human readable name of the VDU | |||||||||||||||||||||
description | String | 1 | Human readable description of the VDU | |||||||||||||||||||||
boot_order | boolean | 1 | indicates whether the order of the virtual_storage requirements is used as the boot index (the first requirement represents the lowest index and defines highest boot priority) default: false | |||||||||||||||||||||
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 | #configurable_properties | tosca.datatypes.nfv.VnfcConfigurableProperties | 0..n | 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.Compute node | sw_image_data | tosca.datatypes.nfv.SwImageData | 0..1 | Defines information related to a SwImage artifact used by this Vdu.Compute node | boot_data | tosca.datatypes.nfv.BootData | 0..1 | Contains the information used to customize a virtualised compute resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent to the VIM. | |
capabilities: virtual_compute: type: tosca.capabilities.nfv.VirtualCompute occurrences: [ 1, 1 ] virtual_binding: type: tosca.capabilities.nfv.VirtualBindable occurrences: [ 1, UNBOUNDED ] | ||||||||||||||||||||||||
(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 | |||||||||||||||||||||
#configurable_properties | tosca.datatypes.nfv.VnfcConfigurableProperties | 0..n | 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.Compute node | |||||||||||||||||||||
sw_image_data | tosca.datatypes.nfv.SwImageData | 0..1 | Defines information related to a SwImage artifact used by this Vdu.Compute node | |||||||||||||||||||||
boot_data | tosca.datatypes.nfv.BootData | 0..1 | Contains the information used to customize a virtualised compute resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent to the VIM. | |||||||||||||||||||||
capabilities: virtual_compute: type: tosca.capabilities.nfv.VirtualCompute occurrences: [ 1, 1 ] 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 ] |
VduVirtualBlockStorage Data Model
tosca.nodes.nfv.Vdu.VirtualBlockStorage
- property "sw_image_data" deprecated in 3.3.1
VduVirtualObjectStorage Data Model
tosca.nodes.nfv.Vdu.VirtualObjectStorage
- No Change since 2.7.1
VduVirtualFileStorage Data Model
tosca.nodes.nfv.Vdu.VirtualFileStorage
- requirement "virtual_binding" cardinality changed from default (1-1) to 1-1, i.e. no effective change in 3.3.1
VnfVirtualLink Data Model
tosca.nodes.nfv.VnfVirtualLink
- No Change since 2.7.1
VipCp Data Model
- New to SDC
tosca.nodes.nfv.VipCp: derived_from: tosca.nodes.nfv.Cp description: Describes a connection point to allocate one or a set of virtual IP addresses | ||||
Id | Type | Cardinality | Constraints | Description |
---|---|---|---|---|
vip_function | String | 1 | - valid_values: [ high_availability, load_balance ] | Describes the algorithm used to obtain the checksum value |
requirements: - |
target: capability: tosca.capabilities. |
Node relationship: tosca.relationships. |
DependsOn occurrences: [ |
1, UNBOUNDED ] |
VduVirtualBlockStorage Data Model
tosca.nodes.nfv.Vdu.VirtualBlockStorage
- property "sw_image_data" deprecated in 3.3.1
VduVirtualObjectStorage Data Model
tosca.nodes.nfv.Vdu.VirtualObjectStorage
- No Change since 2.7.1
VduVirtualFileStorage Data Model
tosca.nodes.nfv.Vdu.VirtualFileStorage
- requirement "virtual_binding" cardinality changed from default (1-1) to 1-1, i.e. no effective change in 3.3.1
VnfVirtualLink Data Model
tosca.nodes.nfv.VnfVirtualLink
- No Change since 2.7.1
VipCp Data Model
- New to SDC
tosca.nodes.nfv.VipCp: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VipVirtualLinksTo occurrences: [1, 1] |
VirtualCp Data Model
Gliffy macroId a3b53088-8b52-4dbe-8925-e26a5ae6eba4 name v4.2.1 VirtualCp pagePin 1
tosca.datatypes.nfv.ServicePortData: derived_from: tosca. |
datatypes. |
Root
|
description: describes the service identifying port properties exposed by the VirtualCp | ||||
Id | Type | Cardinality |
---|
Constraints | Description | |||
---|---|---|---|---|
name | String | 1 | The name of this port exposed by the VirtualCp. | |
protocol | String | 1 |
valid_values: [ |
Describes the algorithm used to obtain the checksum value
requirements:
- target:
capability: tosca.capabilities.Node
relationship: tosca.relationships.DependsOn
occurrences: [ 1, UNBOUNDED ]
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VipVirtualLinksTo
occurrences: [1, 1]
#VirtualCp Data Model
...
TCP, UDP, SCTP ] | The L4 protocol for this port exposed by the VirtualCp. | |||
port | Integer | 1 | The L4 port number exposed by the VirtualCp. | |
PortConfigurable | Boolean | 1 | Specifies whether the port attribute value is allowed to be configurable. |
tosca.datatypes.nfv.AdditionaServiceData: derived_from: tosca.datatypes.Root description: describes the additional service data of the VirtualCp used to expose properties of the VirtualCp | ||||
Id | Type | Cardinality | Constraints | Description |
---|---|---|---|---|
portData | List of tosca.datatypes.nfv.ServicePortData | 1 | Service port numbers exposed by the VirtualCp. | |
serviceData | String | 0..1 | Service matching information exposed by the VirtualCp. |
tosca.nodes.nfv.VirtualCp: derived_from: tosca.nodes.nfv.Cp description: Describes a virtual connection point allowing the access to a number of VNFC instances (based on their respective VDUs). | ||||
Id | Type | Cardinality | Constraints | Description |
---|---|---|---|---|
additionalServiceData | list of toscaof tosca.datatypes.nfv.AdditionalServiceData | 1 | References the VDU(s) which implement this service | |
requirements: - target: capability: tosca.capabilities.Node relationship: tosca.relationships.DependsOn occurrences: [ 1, UNBOUNDED ] - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtVirtualLinksToVirtualLinksTo occurrences: [10, 1] |
Data types. (Input from Michael Morris)
...