VNF/CNF Data Model Based on ETSI v3.3.1 SOL001 plus CNF Enhancements

VNF/CNF Data Model Based on ETSI v3.3.1 SOL001 plus CNF Enhancements

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:
    derived_from: tosca.datatypes.Root
    description: Represents information on virtualised resource related performance metrics applicable to the VNF.

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,
v_memory_usage_mean_vnf, v_memory_usage_peak_vnf,
v_disk_usage_mean_vnf, v_disk_usage_peak_vnf,
byte_incoming_vnf_ext_cp, byte_outgoing_vnf_ext_cp,
packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp

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:
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

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