Skip to end of metadata
Go to start of metadata

3.3.1 changes bring support for VNF Package Change and VNF Snapshot

4.1.1 changes bring support for OsContainer based VNFs

Changes from v3.3.1

New Classes/Types:

  • New Class VnfPackageChangeInfo: A VnfPackageChangeInfo information element describes the processes and rules to be used for performing the resource related tasks while assisting the "change current VNF Package" to change a VNF instance to a different VNF Package (destination package).When creating a VNF package, the VNF vendor can include VnfPackageChangeInfo information elements in the package which allow the package to act as a source package or as a destination package for a modification in relation to another package, which has been created earlier or at the same time. To populate a VnfPackageChangeInfo information element and the underlying related information elements, knowledge of both the source package and the destination package is required.

Attribute

Qualifier

Cardinality

Content

Description

selector

M

1

VersionSelector

Information to identify the source and destination VNFD for the change, and the related deployment flavours.

additionalParamsId

M

0..1

Identifier (Reference to ChangeCurrentVnfPackageOpConfig)

References the ChangeCurrentVnfPackageOpConfig information element that defines the valid additional parameters for the change.

modificationQualifier

M

1

Enum

Specifies the type of modification resulting from transitioning from srcVnfdId to dstVnfdId. The possible values are:

UP - indicating that the destination VNF version is newer than the source version,

DOWN - indicating that the destination VNF version is older than the source version.

additionalModificationDescription

M

0..N

String

A VNF provider may define additional information to qualify further the change between the two versions, such as "VNF upgrade", "VNF update", "VNF downgrade", etc.

componentMapping

M

0..N

ComponentMapping

Mapping information related to identifiers of components in source VNFD and destination VNFD that concern to the change process.

lcmScriptId

M

TBD

Identifier (Reference to LifeCycleManagementScript)

References a lifecycle management script that is executed as part of this "change current VNF Package" process.

coordinationId

M

0..N

Identifier (Reference to VnfLcmOperationCoordination)

References applicable VNF LCM operation coordination actions.

dstFlavourId

M

1

Identifier

Identifies the deployment flavour in the destination VNF package for which this change applies. The flavour ID is defined in the destination VNF package.

  • New Class VersionSelector: The VersionSelector information element allows to identify the source and destination VNFDs (and implicitly, VNF packages) for a "change current VNF Package", as well as the applicable source deployment flavour. The triplet (srcVnfdId, srcFlavourId, dstVnfdId) uniquely determines a change.

Attribute

Qualifier

Cardinality

Content

Description

srcVnfdId

M

1

Identifier

Identifier of the source VNFD and the source VNF package. See note 1.

dstVnfdId

M

1

Identifier

Identifier of the destination VNFD and the destination VNF package. See note 1.

srcFlavourId

M

1

Identifier

Identifier of the deployment flavour in the source VNF package for which this modification applies. See note 2.

NOTE 1: Either the srcVnfdId or the dstVnfdId shall be equal to the vnfdId of the VNFD containing this version selector.

NOTE 2: It is up to protocol design stage to decide whether there is further optimization potential to apply one modification for multiple srcFlavourIds.


  • New Class ComponentMapping: With respect to a "change current VNF Package" process, a ComponentMapping information element defines a mapping between the identifier of a components or property in the source VNFD and the identifier of the corresponding component or property in the destination VNFD. Examples for components are VDUs, VLDs, etc., and an example for a property is a scaling aspect of the VNF.

Attribute

Qualifier

Cardinality

Content

Description

componentType

M

1

Not specified

The type of component or property. Possible values differentiate whether changes concern to some VNF component (e.g. VDU, internal VLD, etc.) or property (e.g. a Scaling Aspect, etc.).

sourceDescId

M

1

Identifier

Identifier of the component or property in the source VNFD. See note.

dstDescId

M

1

Identifier

Identifier of the component or property in the destination VNFD. See note.

description

M

0..1

String

Human readable description of the component changes.

NOTE: The attribute's content, an identifier value, references to the relevant descriptor parts in the VNFD.



  • New Class  VnfLcmOperationCoordination: This information element defines the sets of information needed for a coordination action in a VNF lifecycle management operation.

Attribute

Qualifier

Cardinality

Content

Description

vnfLcmOpCoordinationId

M

1

Identifier

Identifies the specific VNF LCM operation coordination action.

description

M

0..1

String

Human readable description of the coordination action.

endpointType

M

1

Enum

Specifies the type of the endpoint exposing the LCM operation coordination such as other operations supporting or management systems (e.g. an EM) or the VNF instance.

Allowed values:

  • MGMT: coordination with other operation supporting management systems.
  • VNF: coordination with the VNF instance.

coordinationStage

M

0..1

Not specified

Indicates the coordination stage during the VNF LCM operation.

coordinationParams

M

0..1

Not specified

Input information needed by the external coordinating entity. See note.

NOTE: These attributes relate to the corresponding parameters used in the VNF LCM coordination operations (refer to clause 6.4.2.2 of ETSI GS NFV-IFA 008 [i.4]).


 Other Changes:

  • New Property Vnfd:vnfpackagechangeinfo of type VnfPackageChangeInfo with cardinality 0..N - Information used for performing the change of the current VNF Package. More than one VNF Package Change Info construct is possible to cater the possibility that changes of the current VNF Package can be performed for different source VNFDs.
  • New Property Vnfd:lcmOperationCoordination of type VnfLcmOperationCoordination with cardinality 0..N - Provides information used for the coordination in VNF LCM operations.


VNFD Types: 





Changes from v4.1.1

New Classes/Types:

  1. New Class OsContainerDesc which describes the member properties of a set of co-located container compute resources when these are realizing a VDU
    1. The osContainerDesc  element(s) are listed in the VNF Descriptor and referenced by the VDU element(s).  Each VDU may be made up of group of containers, often called a "pod".

      Attribute

      Qualifier

      Cardinality

      Content

      Description

      osContainerDescId

      M

      1

      Identifier

      Unique identifier of this OsContainerDesc in the VNFD.

      requestedCpuResources

      M

      0..1

      Integer

      Number of CPU resources requested for the container (e.g. in milli-CPU-s)

      requestedMemoryResources

      M

      0..1

      Number

      Amount of memory resources requested for the container (e.g. in MB).

      requestedEphemeralStorageResources

      M

      0..1

      Number

      Size of ephemeral storage resources requested for the container (e.g. in GB).

      extendedResourceRequests

      M

      0..N

      Not specified

      An array of key-value pairs of extended resources required by the container.

      See note.

      cpuResourceLimit

      M

      0..1

      Integer

      Number of CPU resources the container can maximally use (e.g. in milli-CPU).

      memoryResourceLimit

      M

      0..1

      Number

      Amount of memory resources the container can maximum use (e.g. in MB).

      ephemeralStorageResourceLimit

      M

      0..1

      Number

      Size of ephemeral storage resources the container can maximum use (e.g. in GB).

      swImageDesc

      M

      1

      Identifier (Reference to SwImageDesc)

      Describes the software image realizing this OS container.

      bootData

      M

      0..1

      Not specified

      Contains a string or a URL to a file contained in the VNF package used to customize a container resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent.

      virtualStorageDesc

      M

      0..N

      Identifier (Reference to VirtualStorageDesc)

      Links to virtualStorageDesc-s of the Vdu. The storages represented by the linked VirtualStorageDesc-s are attached to the OS Container as volumes. Shall be present in case the OS container requires storage resources.

      monitoringParameters

      M

      0..N

      MonitoringParameter

      Specifies the virtualised resource related performance metrics on the OsContainerDesc level to be tracked by the VNFM. MonitoringParameter is defined in clause 7.1.11.3.

      NOTE:     Extended resources are to describe any type of resource provided by the container infrastructure. One example implementation of extended resources are “Extended Resources” in case the container infrastructure service is a Kubernetes® instance.

  2. New Class MciopProfile which describes properties of the Managed Container Infrastructure Object Package (MCIOP) which are used during deployment of containerized workloads based on a MCIOP, associated to a VNF deployment flavour.   An MCIOP is a hierarchical aggregate of information objects for OS container management and orchestration. Multiple MCIOPs can be included in a VNF Package.  The MCIOP is expected to be realized by a Helm chart.
    1. Each VnfDf in the VNF Descriptor would list the appropriate mciopProfiles.

      Attribute

      Qualifier

      Cardinality

      Content

      Description

      mciopId

      M

      1

      Identifier

      Identifies the MCIOP in the VNF package.

      deploymentOrder

      M

      0..1

      Integer

      Indicates the order in which this MCIOP shall be deployed in relation to other MCIOPs. A lower value specifies an earlier deployment.

      affinityOrAntiAffinityGroupId

      M

      0..N

      Identifier (Reference to AffinityOrAntiAffinityGroup)

      References the affinity or anti-affinity group(s) the MCIOP belongs to.

      See note.

      associatedVdu

      M

      0..N

      Identifier (Reference to Vdu)

      List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP.

      NOTE: Each identifier references an affinity or anti-affinity group which expresses affinity or anti-affinity relationships between the containerized workloads to be created using this MCIOP and the containerized workloads to be created using other MCIOP(s) in the same group.

  3. New Class  VirtualCpd.  New datatypes AdditionalServiceData and ServicePortData 
    1. VirtualCpd - A type of Cpd that describes a requirement to create a virtual connection point allowing the access to a number of VNFC instances (based on their respective VDUs).

      Attribute

      Qualifier

      Cardinality

      Content

      Description

      vdu

      M

      1..N

      Identifier (Reference to Vdu)

      References the VDU(s) which implement this service. 

      additionalServiceData

      M

      0..N

      AdditionalServiceData

      Additional service identification data of the VirtualCp exposed to NFV-MANO.

      (inherited attributes)




      All attributes inherited from Cpd.
      See note.

      NOTE: If this VirtualCp represents a load balancing virtual IP address of a VNFC realized by one or a set of OS containers and the IP address is configurable in the declarative descriptor of the corresponding MCIO, the attribute iPAddressAssignment shall be set to value=true in the L3AddressData.

    2. AdditionalServiceData

      Attribute

      Qualifier

      Cardinality

      Content

      Description

      portData

      M

      1..N

      ServicePortData

      Service port numbers exposed by the VirtualCp.

      serviceData

      M

      0..1

      Not specified

      Service matching information exposed by the VirtualCp.

      See note.

      NOTE:     This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a url path information in an HTTP request required to allow a single VirtualCp IP address to be used for several HTTP based services that use the same portnumber.

    3. ServicePortData

      Attribute

      Qualifier

      Cardinality

      Content

      Description

      name

      M

      1

      String

      The name of the port exposed by the VirtualCp.

      protocol

      M

      1

      Enum

      The L4 protocol for this port exposed by the VirtualCp.

      VALUES:

      ·       TCP

      ·       UDP

      ·       SCTP

      port

      M

      1

      Integer

      The L4 port number exposed by the VirtualCp.

      portConfigurable

      M

      1

      Boolean

      Specifies whether the port attribute value is allowed to be configurable.

Other changes:

  1. New property vnfd::osContainerDesc of type OsContainerDesc with cardinality 0..N which defines descriptors of container compute resources to be used by the VNF when the VDUs of the VNF are realized by a set of OS Containers sharing the same host and same networking namespace.  Only one of virtualComputeDesc or osContanerDesc may be present in the vnfd
  2. New property vnfd::virtualCpd which describes a virtual connection point(s) allowing to access a set of VNFC instances (based on their respective VDUs).
  3. New property VnfExtCpd::virtualCpd which references the Virtual CPD which is used to describe a virtual connection point allowing to access a set of VNFC instances (based on their respective VDUs). 
  4. New property vdu::osContainerDesc of type identifier (Reference to osContainerDesc) with cardinality 0..N which describes CPU, memory requirements and limits, and software images of the OS Containers realizing this Vdu corresponding to OS Containers sharing the same host and same network namespace. Each unique identifier is referenced only once within one VDU.
  5. Modification of VduCpd::vnictype to include several new types (BRIDGE, IPVLAN, LOOPBACK, MACVLAN, PTP, VLAN, HOST-DEVICE)
  6. Modification to the cardinality of SwImageDesc::diskFormat, SwImageDesc::minDisk to allow cardinality of 0..N
  7. New property VndDf::mciopProfile of type mciopProfile with cardinality 0..N which describes additional instantiation data for the MCIOPs used in this deployment flavour. This attribute shall be present if the DF references containerized workloads based on a MCIOP.
  8. New property VirtualStorageDesc::volumeTemplate of type Boolean with cardinality 0..1 which indicates whether the virtual storage descriptor shall be used as template, i.e. if the virtual storage resource shall be instantiated per VNFC instance. If the value is true (default), a persistent virtual storage resource shall be instantiated for each VNFC instance that is based on a VDU referring to this virtual storage descriptor. If the value is false, a single persistent virtual storage resource shall be instantiated with a lifetime independent of the lifetime of individual VNFC instances based on a VDU referring to this virtual storage descriptor.




GenDoc Output:



  • No labels

3 Comments

  1. Fernando Oliveira : I've only now looked at the details of the model updates and have a couple of questions.

    In the updates from 4.1.1, OsContainerDesc is defined as a DataType, whereas in the IFA 011 spec it's defined as a Class (see Figure 7.1.6.2.1-1). It also has a containment relationship (contained under Vnfd), which would normally only be used for a Class and not for a DataType. Is this an inconsistency between the ONAP IM and IFA 011, or a conscious decision?

    Similarly, MciopProfile is defined as a DataType, but since it's contained under VnfDf, I'd also expect it to be defined as a Class. Unfortunately it doesn't look like any UML diagram for this has been included in IFA 011, so it's a bit unclear whether the correct solution in this case is to change to a Class or remove the containment. Could you check with someone from ETSI NFV on the intended solution in IFA 011?

    1. Jacqueline Beaulac  Thanks for looking at the details of the of the model updates.  I have not had a chance to get feedback from the IFA011 folks but I think that it is more likely an error on my part to introduce this inconsistency.  I will try to get some more input and would welocme any more insight that you might be able to obtain.

      1. Jacqueline Beaulac I updated the OsContainerDesc and MciopProfile to be classes instead of datatypes to correspond to IFA011 v4.1.1