...
The following describes Data Model based on the ETSI v3.3.1 SOL001 VNFD plus CNF enhancements, which came from 4.1.1.
- in Honolulu, the VDU and Container relation is 1:1. We plan to enhance it in the future.
- 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
Gliffy Diagram | ||||||
---|---|---|---|---|---|---|
|
Gliffy Diagram | ||||||
---|---|---|---|---|---|---|
|
VNF Data Model
- property "vnfm_info" constraint pattern: "(etsivnfm:vproperty "vnfm_info" constraint pattern: "(etsivnfm:v[0-9]?[0-9]\.[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 Diagram | ||||||
---|---|---|---|---|---|---|
|
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 | compute_requirements | map of String | 0..1 |
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 | virtual_local_storage | ||
requestedEphemeralStorageResources | scalar-unit.size | list of tosca.datatypes.nfv.VirtualBlockStorageData0.. | n1 | Amount of Ephemeral Storage Requested | ||
capabilities: ContainerGroupable: type: tosca.capabilities.nfv.ContainerGroupable occurrences: [ 1, UNBOUNDED ] | ||||||
ephemeralStorageResourcesLimit | scalar-unit.size | 0..1 | Limit on Ephemeral Storage | |||
capabilities requirements: - virtual_storageContainerGroupable: capabilitytype: tosca.capabilities.nfv.VirtualStorage relationship: tosca.relationships.nfv.AttachesToContainerGroupable occurrences: [ 01, 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.OsContainer 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
Gliffy Diagram macroId 52d3d86d-0434-4565-9ea9-ca1b16d0c8ff name 4.1.1 MciopProfile pagePin 2
tosca. 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 |
...
tosca.datatypes.nfv.ChecksumData: derived_from: tosca.datatypes.Root description: Describes information about the result of performing a checksum operation over some arbitrary data | ||||
Id | Type | Cardinality | Constraints | Description |
---|---|---|---|---|
algorithm | String | 1 | Describes the algorithm used to obtain the checksum value | |
hash | String | 1 | Contains the result of applying the algorithm indicated by the algorithm property to the data to which this ChecksumData refers |
vduCp Data Model
which this ChecksumData refers |
vduCp Data Model
tosca.nodes.nfv.VduCp: derived_from: tosca.nodes.nfv.Cp description: Describes network connectivity between a VNFC instance based on this VDU and an internal VL | |||
Id | Type | Cardinality | Description |
---|---|---|---|
bitrate_requirement | integer | 0..1 | Bitrate requirement in bit per second on this connection point |
virtual_network_interface_requirements | list of tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements | 0..n | Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD |
order | integer | 0..1 | The order of the NIC on the compute instance (e.g.eth2) |
vnic_type | string | 0..1 | Describes the type of the virtual network interface realizing the CPs instantiated from this CPD. Valid values: normal, macvtap, direct, baremetal, virtio-forwarder, direct-physical, smart-nic, bridge, ipvlan, loopback, macvlan, ptp, vlan, host-device |
capabilities: virtual_binding: type: tosca.capabilities.nfv.VirtualBindable occurrences: [ 1, UNBOUNDED ] | |||
requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable |
...
OsContainerGroup |
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.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 ] - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VipVirtualLinksTo occurrences: [1, 1] |
#VirtualCp Data Model
Gliffy Diagram macroId 7382e3d4-b2aa-40fe-8653-3420b8c9d980 name v4.1.1 VirtualCp pagePin 1
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 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.VirtVirtualLinksTo occurrences: [1, 1] |
...