Proposed R9+ VNF/CNF Data Model Based on ETSI SOL001 v4.2.1

Proposed R9+ VNF/CNF Data Model Based on ETSI SOL001 v4.2.1

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

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