This page shows the extensions and changes made in R3 clean version VNFD model compared with ETSI IFA011 v2.5.1.

The analysis is based on Comparison of Current R3 Clean Version with IFA011 v2.5.1.

BOLD BLUE text indicates those enhancements ONAP has made and would like to propose back to the ETSI community. And BOLD PURPLE text represents candidates for deprecation in support of HPA.

Class: Vnfd

A VNFD is a deployment template which describes a VNF in terms of deployment and operational behaviour requirements. It also contains connectivity, interface and virtualised resource requirements.

Applied Stereotypes:

  • OpenModelClass

          support:  MANDATORY

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale
vnfmInfoString0..* (IFA has 1..*)

Identifies VNFM(s) compatible with the VNF described in this version of the VNFD.

Using the name of micro-service of the vnfm drive. For vendor specific VNFM, the value composes of "vendorname" and "vnfmdriver", e.g. "mycompanyvnfmdriver"; for generic VNFM, the value is "gvnfmdriver".

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attribute

value specified

cardinality change

Value is specified according to the usage in VFC project.

Lower cardinality is changed to 0 because not all VNFs in ONAP need to be managed by VNFMs, SO/APPC could also serve the similar functionality.

localizationLanguageString0..*

Information about localization languages of the VNF (includes e.g. strings in the VNFD).

NOTE: This allows to provide one or more localization languages to support selecting a specific localization language at VNF instantiation time.

The value refer to ISO936 https://www.iso.org/iso-639-language-codes.html .

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributetype and value specifiedValue is specified according to the usage in VFC project.
defaultLocalizationLanguageString0..1

Default localization language that is instantiated if no information about selected localization language is available.

The value refer to ISO936 https://www.iso.org/iso-639-language-codes.html .

OpenModelAttribute

  • isInvariant: false
  • support:  CONDITIONAL
  • condition: Shall be present if "localizationLanguage" is present and shall be absent otherwise.
attributetype and value specifiedValue is specified according to the usage in VFC project.
vnfReservedCpdVduCpd0..*Reserved IP Address for VNF which is not bounded to any specific VNFC, but assigned manually from outside and potentially shared as a floating IP among VNFCs.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


associationnew attribute

Used to describe CPs which don't belong to a specific VNFC, but are shared among VNFCs.

Corresponding to "allowed address pair" concept in openstack, or "virtual ip" concept.

Usually used for redundancy (reliability) design.

modifiableAttributesVnfInfoModifiableAttributes1 (IFA has 0..1)

Describes the modifiable attributes of the VNF.


OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributecardinality change
logoString0..1File path of the vendor specified logo.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


attributenew attribute
guideString0..1UUID of the vendor guide/documentation which is attached to VNF and can be downloaded from the model.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


attribute

new attribute

Class: Vdu

The Virtualisation Deployment Unit (VDU) is a construct supporting the description of the deployment and operational behaviour of a VNFC.

A VNFC instance created based on the VDU maps to a single virtualisation container (e.g.; a VM).

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale
nfviConstraintKeyValuePair0..*

Describes constraints on the NFVI for the VNFC instance(s) created from this Vdu. For example, aspects of a secure hosting environment for the VNFC instance that involve additional entities or processes.

NOTE: These are constraints other than stipulating that a VNFC instance has access to a certain resource, as a prerequisite to instantiation. The attributes virtualComputeDesc and virtualStorageDesc define the resources required for instantiation of the VNFC instance.

The "key/name" includes "AvailabilityZone" and "HostAggregates".

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributetype specified

Openstack has the concepts "availability zone" and "host aggregates" by which the operator could specify (or constrain) the deployment location of the VM (VNFC instance).

It's proposed to have these two attributes defined in the VNFD as input parameters (with default values defined if necessary).

injectFilesString0..*Describes the information (e.g. URL) about the scripts, config drive metadata, etc. which can be used during Vdu booting process.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


attributenew attribute

There are two ways to inject data into VM instance during instantiation process: 1) using config drive to provide such information (covered by the bootData attribute in the VNFD); 2) using an injection file.

It's proposed to also support this way of providing additional data to the VM instance.

Note: file injection is deprecated in OpenStack Queen version

Class: SwImageDesc

This information element describes the software image for a particular VDU or a virtual storage resource.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale
version

String

1The version of this software image.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributequestion"vnfSoftwareVersion" and "vnfdVersion" attributes have type "Version", while this attribute has type "String", should they be aligned? i.e., change "String" into "Version"?

Class: VirtualComputeDesc


The VirtualComputeDesc class supports the specification of requirements related to virtual compute resources.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary 
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale
requestAdditionalCapabilitiesRequestedAdditionalCapabilityData0..*Specifies requirements for additional capabilities. These may be for a range of purposes. One example is acceleration related capabilities.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY

attributedeprecate
computeRequirementsKeyValuePair0..*Specifies compute requirements.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributetype specifiedType and value are defined per HPA proposal.

Datatype: VirtualCpuData

The VirtualCpuData information element supports the specification of requirements related to virtual CPU(s) of a virtual compute resource.

Applied Stereotypes:

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesCategoryRationale
virtualCpuOversubscriptionPolicy
0..1The CPU core oversubscription policy e.g. the relation of virtual CPU cores to physical CPU cores/threads. The cardinality can be 0 during the allocation request, if no particular value is requested.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
deprecate
vduCpuRequirementsKeyValuePair0..*Array of key-value pair requirements on the Compute (CPU) for the VDU.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specifiedType and value are defined per HPA proposal.
virtualCpuPinningVirtualCpuPinningData0..1The virtual CPU pinning configuration for the virtualised compute resource.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


deprecateCovered by vduCpuRequirements attribute per HPA proposal.

Datatype: VirtualMemoryData

The VirtualMemoryData information element supports the specification of requirements related to virtual memory of a virtual compute resource.

Applied Stereotypes:

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesCategoryRationale
virtualMemOversubscriptionPolicy
0..1The memory core oversubscription policy in terms of virtual memory to physical memory on the platform. The cardinality can be 0 during the allocation request, if no particular value is requested.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
deprecate
vduMemRequirements

KeyValuePair

0..*Array of key-value pair requirements on the memory for the VDU.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specifiedType and value are defined per HPA proposal.
numaEnabledBoolean
0..1

It specifies the memory allocation to be cognizant of the relevant process/core allocation. The cardinality can be 0 during the allocation request, if no particular value is requested.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
deprecate

Class: VirtualStorageDesc

The VirtualStorageDesc information element supports the specifications of requirements related to persistent virtual storage resources. Ephemeral virtual storage is specified in VirtualComputeDesc information element.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary 
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale

vduStorageRequirements

NOTE: This attribute is moved to BlockStorageData in IFA011 v2.5.1

KeyValuePair

0..*

An array of key-value pairs that articulate the storage deployment requirements.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributetype specifiedType and value are defined per HPA proposal.

rdmaEnabled

NOTE: This attribute is moved to BlockStorageData in IFA011 v2.5.1

Boolean

0..1

Indicate if the storage support RDMA.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributedeprecate

Class: LogicalNodeData 

NOTE: In IFA011 v2.5.1 this is changed to class LogicalNodeRequirements

This information element describes compute, memory and I/O requirements that are to be associated with the logical node of infrastructure. The logical node requirements are a sub-component of the VDU level requirements. As an example for illustration purposes, a logical node correlates to the concept of a NUMA cell in libvirt terminology.

Applied Stereotypes:

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesCategoryRationale

logicalNodeRequirementDetail

KeyValuePair

1..*

The logical node-level compute, memory and I/O requirements. An array of key-value pairs that articulate the deployment requirements.

This could include the number of CPU cores on this logical node, a memory configuration specific to a logical node (e.g. such as available in the Linux kernel via the libnuma library) or a requirement related to the association of an I/O device with the logical node.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specifiedType and value are defined per HPA proposal.

Class: Cpd

The Cpd class specifies the characteristics of connection points attached to NFs and NSs. This is an abstract class used as parent for the various Cpd classes.

Note 1: the description of this class is different in ETSI GS NFV IFA 011 and ETSI GS NFV IFA 014. The present definition uses the definition in ETSI GS NFV IFA 014 as it is the more general.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale

allowedAddressData

Note: Ongoing discussion is proposing to move this out of Cpd (into VNFD) as it is specified to VNFD.

AddressData

0..N

For specifying floating IP(s) to be shared among Cpds, which are reserved for vnfReservedCpd described in the VNFD.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


attributenew attributeTo specify the IP addresses used for the vnfReservedCpd.

Class: VduCpd

Describes network connectivity between a VNFC instance (based on this VDU) and an internal Virtual Link.

Parent class: Cpd

Applied Stereotypes:

  • OpenModelClass

          support:  MANDATORY

  • Preliminary 
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale

vnicName

String

0..1

Describes the name of the vNIC this CP attaches to, e.g. eth0. It will be configured during the Vdu booting process.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


attributenew attributeAn optional attribute used when creating a port resource in Openstack.

Class: VduProfile

The VduProfile describes additional instantiation data for a given VDU used in a DF.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

Attribute Type

CategoryRationale
watchdogString0..1Watchdog action to be triggered by the VIM for the VNF in case the heart beat fails, e.g. reset or hard shutdown, etc.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Attributenew attributeSee description.
vmBootUpTimeOutInteger0..1Timeout value for the VNFM to wait before the successful booting up of the VDU.

OpenModelAttribute

  • isInvariant: false
  • support:  OPTIONAL
Attributenew attributeTo specify the maximum time VNFM should wait before a VNF instance is successfully boot up. If timeout, the instantiation would be considered as failed.

Class: VirtualNetworkInterfaceRequirements

This class specifies requirements on a virtual network interface.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

Preliminary 

Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale
networkInterfaceRequirements

KeyValuePair

0..*

The network interface requirements. An element from an array of key-value pairs that articulate the network interface deployment requirements.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Attributetype specifiedType and value are defined per HPA proposal.

Class: VnfVirtualLinkDesc

Represents the type of network connectivity mandated by the VNF vendor between two or more Connection Points which includes at least one Internal Connection Point.

Parent class: VirtualLinkDesc 

NOTE: Ongoing discussion is proposing to define root classes for ONAP IM, may suggest ETSI to have a similar design. For example, define a "VirtualLinkDesc" as the root class for "VnfVirtualLinkDesc" and "NsVirtualLinkDesc". Please note that IFA015 has already defined "VirtualLinkDesc" but not in IFA011/014.

Applied Stereotypes:

  • OpenModelClass

          support:  MANDATORY

  • Preliminary 
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale

virtualLinkDescId

Identifier

1

Unique identifier of this internal VLD in VNFD.

Model definition:

Uniquely identifies a VLD in the parent descriptor.

(this is because you can have VnfVirtualLinkDesc and NsVirtualLinkDesc)

Note: Inherited from Class VirtualLinkDesc

OpenModelAttribute

  • isInvariant: true
  • support:  MANDATORY
Attribute
put this attribute in the root class "VirtualLinkDesc"
connectivityType

ConnectivityType


1Specifies the protocol exposed by a VL and the flow pattern supported by the VL.

Note: Inherited from Class VirtualLinkDesc

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Attributecomplement the descriptionto align with IFA015
testAccessString0..*Specifies test access facilities expected on the VL (e.g. none, passive monitoring, or active (intrusive) loopbacks at endpoints).

Note: Inherited from Class VirtualLinkDesc

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Attribute
put this attribute in the root class "VirtualLinkDesc"
descriptionString0..1Provides human-readable information on the purpose of the VL (e.g. control plane traffic).

Note: Inherited from Class VirtualLinkDesc

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Attribute
put this attribute in the root class "VirtualLinkDesc"

Class: VnfDf

A specific deployment version of a VNF with specific requirements for capacity and performance.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary 
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute TypeCategoryRationale
placementGroupPlacementGroup0..*Determine where VNFC's (VDU's) are placed with respect to the VNF

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


Associationnew attribute
baseConfigGroupBaseConfigGroup0..1
  • BaseConfigGroup may set Access Control Lists (ACL's) and establish security groups and server groups.
  • BaseConfigGroup creates/establishs storage for the VM's (OpenStack Cinder).
  • BaseConfigGroup may establish internal networks such as OAM (VNF Mgmt) or MNS (Maintenance & Surveillance)  established.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY

Experimental

Associationnew attributeserves different use cases, please see description
deploymentGroupDeploymentGroup1..*DeploymentGroup provides the minimum viable VDU and associated VNFC configuration for a useable VNF.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY

Experimental

Associationnew attribute

NOTE: the above 3 new attributes/types are inherited from the ElementGroup class which is deprecated in IFA011 v2.5.1.

Class: VirtualLinkProfile

The VirtualLinkProfile class specifies a profile for instantiating VLs of a particular NS DF according to a specific VLD and VL DF.

Applied Stereotypes:

  • OpenModelClass

           support:  MANDATORY

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttributeTypeCategoryRationale

virtualLinkProfileId

Note: This is missing in IFA011 but is in the model. This is a necessary attribute in order to instantiate the class

Identifier1

Uniquely identifies this VirtualLinkProfile class.

OpenModelAttribute

  • isInvariant: true
  • support:  MANDATORY
Attributenew attributealign with IFA015
initiationParametersKeyValuePair0..*

Specifies initiation parameters for the virtual link.

Specified values include: cidr, allocationPools (represented by [starting ip address, ending ip address]), gatewayIp, networkName, segmentationId, physicalNetwork.

NOTE: cidr, allocationPools, gatewayIp, networkName are already defined in L3ProtocolData in IFA.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY


Attributenew attributespecify the input parameters for creating virtual link (network) in openstack; IFA has added several attributes for the L3 in the latest version, but not for the VLAN related ones (L2?)

Class: VirtualLinkDescFlavour

Description:

The VirtualLinkDescFlavour describes additional instantiation data for a given internal VL used in a DF.

Applied Stereotypes:

  • OpenModelClass
    support:  MANDATORY
  • Preliminary 

Attribute Name

Type

Multiplicity

Description

Applied Stereotypes

Attribute Type

CategoryRationale
qos

QoS

0..1QoS of the VL.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
AttributequestionIFA015 seems to have defined "VnfQoS" as the type. Should IFA011/014 follow the same pattern, i.e., define "VnfQoS" and "NsQoS" separately?

Datatype: CpProtocolData

A CpProtocolData information element describes and associates the protocol layer that a CP uses together with other protocol and connection point information.

Applied Stereotypes:

Preliminary


Attribute Name

Type

Multiplicity

Description

Applied Stereotypes

CategoryRationale
addressDataAddressData

0..*

Provides information on the addresses to be assigned to the CP(s) instantiated from the CPD.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
questionIFA015 has the cardinality defined as 1, is it a mistake?

Datatype: VirtualCpuPinningData (suggest to deprecate)

NOTE: The rationale is to include this information in vduCpuRequirements as part of the HPA proposal.

Attribute Name

Type

Multiplicity

Description

Applied Stereotypes

virtualCpuPinningPolicy

Enum

0..1

The policy can take values of "static" or "dynamic". In case of "static" the virtual CPU cores are requested to be allocated to logical CPU cores according to the rules defined in virtualCpuPinningRules. In case of "dynamic" the allocation of virtual CPU cores to logical CPU cores is decided by the VIM. (e.g.: SMT (Simultaneous Multi-Threading) requirements).

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
virtualCpuPinningRule

Not specified

0..1A list of rules that should be considered during the allocation of the virtual CPUs to logical CPUs in case of "static" virtualCpuPinningPolicy.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY

Datatype: VnfConfigurableProperties

Description:

This datatype defines the configurable properties of a VNF (e.g. related to auto scaling and auto healing). For a VNF instance, the value of these properties can be modified by the VNFM.

Applied Stereotypes:

  • Preliminary

Attribute Name

Type

Multiplicity

Description

Applied Stereotypes

CategoryRationale
additionalConfigurableProperty

String

0..*It provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specified

Datatype: VnfcConfigurableProperties

This datatype defines the configurable properties of a VNFC. For a VNFC instance, the value of these properties can be modified through the VNFM.

Applied Stereotypes:

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesCategoryRationale

additionalVnfcConfigurableProperty

String

0..N

It provides VNFC configurable properties that can be modified using the ModifyVnfInfo operation.

NOTE: A cardinality of "0" indicates that configuring this present VNF property is not supported.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specified

Datatype: LifecycleManagementScript

NOTE: In IFA015 this is called VnfLifecycleManagementScript to distinguish it from NsLifecycleManagementScript. Should IFA011 be align with IFA015?

Defines the information elements related to the lifecycle management script for the VNF.

Applied Stereotypes:

  • Preliminary


Attribute NameTypeMultiplicityDescriptionApplied StereotypesCategoryRationale
scriptString1Information to locate a VNF LCM script (e.g. written in a DSL as specified in requirement VNF_PACK.LCM.001)triggered to react to one of the events listed in the event attribute.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specified
scriptInputKeyValuePair0..*

Array of KVP requirements with the key as the parameter name and the value as the parameter that need to be passed as an input to the script.

NOTE: The scriptInput values are passed to the scripts in addition to the parameters received in the operation invocation request or indicator value change.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specifiedAlign with description.

Datatype: MonitoringParameter

Specifies the virtualized resource related performance metric to be tracked by the VNFM, e.g. for auto-scaling purposes. The VNFM collects the values of performance metrics identified by this information element from the VIM(s) using one or more locally initiated PM Jobs. These values can be used as inputs to auto-scaling rules

Applied Stereotypes:

  • Preliminary

Attribute Name

Type

Multiplicity

Description

Applied Stereotypes

CategoryRationale
collectionPeriod

Enum (CollectionPeriod) but with no enumeration literals defined

0..1

An attribute that describes the recommended periodicity at which to collect the performance information.

VNFM determines if this parameter is considered.

The vendor may provide this information as a guidance for creating PmJobs if needed.

NOTE: The MANO or NFVI may not support the recommended collectionPeriod based on their functionalities, and can reject the requests based on the recommended collectionPeriod in this case.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
type specified


Class: PlacementGroup (Experimental) - New Class

Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
elementGroupIdIdentifier1Unique identifier of this group in the VNFD.

OpenModelAttribute

  • isInvariant: true
  • support:  MANDATORY
Attribute
placementStrategy

Enum

Define an actual enum type with values: COLOCATION, ISOLATION, and EXCLUSIVELY

1

Determine where VNFC's (VDU's) are placed with respect to the VNF.

NOTE:

  • Co-location - members of the group share the same physical host or rack.
  • isolation - members of the group do not share the same physical host or rack.
  • Exclusivity - members have sole use of a given physical host or rack (not shared with any vnfcs outside the group).


OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Attribute
vnfcMembers

Not specified

(should it be Identifier (Reference to Vdu)?)

Good question. If it is the end of an association is should be type Vdu?

0..NReferences to Vdus that are part of this group.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Association?
strategyScope

Enum

Define an actual enum with values: HOST, and RACK

1indicate if the strategy is applied at the host or rack level.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
Attribute

Class: BaseConfigGroup - New Class

Class: DeploymentGroup - New Class


  • No labels