...
4.
...
2.1 changes
...
fix some issues around VipCP and supporting OsContainer based VNFs
Changes from v4.1.1 ETSI IFA011 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
...
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:
...
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.
...
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.
...
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.
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.
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:
...
& v4.1.1 Changes to ONAP Resource Model.
View file | ||||
---|---|---|---|---|
|
New Classes/Types:
- New type VipCpProfile
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
vipCpdId | Identifier | 1 | RW | OpenModelAttribute · isInvariant: false · valueRange: no range constraint · support: MANDATORY | Uniquely references a VIP CPD. |
minNumberOfInstances | Integer | 1 | RW | OpenModelAttribute · isInvariant: false · valueRange: no range constraint · support: MANDATORY | Minimum number of instances of the VIP CP based on the referenced VIP CPD that is permitted to exist for this flavour. Shall be zero or greater. |
maxNumberOfInstances | Integer | 1 | RW | OpenModelAttribute · isInvariant: false · valueRange: no range constraint · support: MANDATORY | Maximum number of instances of the VIP CP based on the referenced VIP CPD that is permitted to exist for this flavour. Shall be greater than zero and not less than the value of "minNumberOfInstances". |
2.New type VipCpLevel
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
vipCpdId | Identifier | 1 | RW | OpenModelAttribute · isInvariant: false · valueRange: no range constraint · support: MANDATORY | Uniquely references a VIP CPD. |
numberOfInstances | Integer | 1 | RW | OpenModelAttribute · isInvariant: false · valueRange: no range constraint · support: MANDATORY | Number of VIP CP instances based on the referenced VipCpd to deploy for an instantiation level or for a scaling delta. Shall be zero or greater. |
3. New type LcmCoordinationActionMapping
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
vnfLcmOperation | invalid | 1 | RW | OpenModelAttribute · isInvariant: false · valueRange: no range constraint · support: MANDATORY | Identifies the specific VNF LCM operation. VALUES: • INSTANTIATE • SCALE • SCALE_TO_LEVEL • CHANGE_FLAVOUR • TERMINATE • HEAL • OPERATE • CHANGE_EXT_CONN • MODIFY_INFO • CREATE_SNAPSHOT • REVERT_TO_SNAPSHOT Note: The value "CHANGE_VNFPKG" is part of this value set as the coordination actions for the "ChangeCurrrentVnfPkg" are modelled separately in the "VnfPackageChangeInfo" information element. |
coordinationActionName | Identifier | 1 | RW | OpenModelAttribute · isInvariant: false · valueRange: no range constraint · support: MANDATORY |
Other changes:
- New property Vnfd::vnfdExtInvariantId of type Identifier -Identifies a VNFD in a version independent manner. This attribute is invariant across versions of the VNFD that fulfill certain conditions related to the external connectivity and management of the VNF. Different versions of a VNFD have different vnfdIds but can have the same vnfdExtInvariantId. Different versions of the VNFD with the same vnfdExtInvariantId shall expose:
same external connectivity, i.e. same number of vnfExtCpds and same identifiers
same VNFD attributes used in an NSD when referring to this VNFD:
- VNF deployment flavours, VNF instantiation levels: in both cases the identifiers and the number of them shall be the same, but the content of e.g. a particular deployment flavour can change
- VNF indicators: same identifiers and possible values
ScaleInfo: same scalingAspects identifiers and same levels per scalingAspect
This condition implies that VNFDs with the same vnfdExtInvariantId preserve external invariancy. Therefore, fulfilling this condition allows to use a different version of a VNFD in an NS instance without modification of the NSD on which the NS instance is based. The use of a different version is ultimately under the control of the service provider and it should consider if the NSD fulfils the requirements of the VnfExtCpds (e.g. bitrate, IP version, etc.).
- New property Vdu::logicalNode of type LogicalNodeRequirement - The logical node requirements.
- New property Vdu::requestAdditionalCapabilities of type RequestedAdditionalCapabilityData - Specifies requirements for additional capabilities. These can be for a range of purposes. One example is acceleration related capabilities.
- New property Vdu::mcioConstraintParams of type Enum - The parameter names for constraints expected to be assigned to MCIOs realizing this Vdu. The value specifies the standardized semantical context of the MCIO constraints and the parameter names for the MCIO constraints in the MCIO declarative descriptor. The mcioConstraintParams attribute shall have one of the following values, expressing the associated semantical context.
affinityNfviPop
affinityZone
affinityZoneGroup
affinityNfviNode
affinityCisNode
antiAffinityNfviPop
antiAffinityZone
antiAffinityZoneGroup
antiAffinityNfviNode
antiAffinityCisNode
localAffinityNfviPop
localAffinityZone
localAffinityZoneGroup
localAffinityNfviNode
localAffinityCisNode
localAntiAffinityNfviPop
localAntiAffinityZone
localAntiAffinityZoneGroup
localAntiAffinityNfviNode
localAntiAffinityCisNode
nodeAdditionalCapabilitySsd
nodeAdditionalCapabilityDpdk
nodeAdditionalCapabilitySriov
nodeAdditionalCapabilityGpu
nodeAdditionalCapabilityFpga
nodeAdditionalCapabilityCpuPin
nodeCapabilityLogicalNuma
nodePool
- New property VnfDf::vipCpProfile of type VipCpProfile - Defines the minimum and maximum number of VIP CP instances created from each of the VipCpds used in this flavour. Shall be present if the deployment flavour can contain VIP CP instances.
- New property VnfDf::supportedCoordinationActions of type LcmCoordinationActionMapping - References applicable LCM coordination actions that can be invoked during each of the listed VNF LCM operations.
- New property InstantiationLevel::vipCpLevel of type VipCpLevel - Indicates the number of VIP CP instances based on a particular VipCpd to be part of this level. If a particular VipCpd is defined with minNumberOfInstances= maxNumberOfInstances=1 in the vipCpProfile of the DF, that vipCpd may be omitted from the "vipCpLevel" attribute, which shall be interpreted that one related VIP CP instance is part of this level.
- Changed VirtualStorageDesc::volumeTemplate property name to VirtualStorageDesc::perVnfcInstance
- New property ScalingDelta::vipCpDelta of type VipCpLevel - Number of VIP CP instances based on a particular VipCpd to be created or removed.
- New property VipCpd::intVirtualLinkDesc of type Identifier - Reference of the internal VLD which this VipCpd connects to.
- New property VipCpd::dedicatedIpAddress of type Boolean - If set to true, it indicates that the VIP address shall be different from the addresses allocated to all of the VduCp instances associated to it. If set to false, the VIP address shall be the same as one of the VduCp instances associated to it.
GenDoc Output:
View file | ||||
---|---|---|---|---|
|