Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page shows the differences between the current clean version model with ETSI IFA011 v2.4.35.1 and other proposed changes:

  1. Meaning of color coding: BOLD RED implies it is a change to make to the Vnfd model for R4. BOLD BLUE indicates an enhancement ONAP has made and would like to propose back to the ETSI community. BOLD PURPLE  represents candidates for deprecation in support of HPA.
  2. The original tables came from R2 CLEAN and not from Papyrus.
  3. Verified against IFA011 v2.5.1 and IFA015 v2.

...

  1. 5.

...

  1. 1
  2. Added "Attribute Type" column to indicate whether the class attribute is an "attribute" or member end of an "association"

...

  1. . Without this information it is difficult to create a class diagram. We might want to consider also for those "Attribute Types" that are associations to put whether there is shared or composite aggregation, or no aggregation at all.  Note: This will not be necessary when model is put into Papyrus, as all associations will start with "_"
  2. Changed attribute Applied Stereotypes to represent the actual stereotypes being applied, and not just a property of a stereotype. Note: When the model is in Papyrus, GenDoc will output this field correctly.
  3. Added class definitions and applied stereotypes. Note: GenDoc will do this correctly when the model is in Papyrus.
  4. Proposal to define actual enums and not use the general term "Enum". Make sure the model captures these correctly in Papyrus.
  5. Proposal to remove incorrect usage of valueRange in OpenModelAttribute stereotype. Make sure this is not incorrectly propagated to Papyrus.

Table of Contents
printablefalse

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.

Take out the following as it is not relevant to the info model: References: tosca-nfv-YAML-v1.0-wd05-rev02 (tosca.nodes.nfv.vnfd, but node details are not defined) ETSI GS NFV-IFA 011 V2.1.3 (VNFD)

Applied Stereotypes:

  • OpenModelClass

          support:  MANDATORY

  • Preliminary
Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
vnfdIdIdentifier1

Identifier of this VNFD information element. This attribute shall be globally unique.

NOTE: The VNFD Identifier shall be used as the unique identifier of the VNF Package that contains this VNFD.

Any modification of the content of the VNFD or the VNF Package shall result in a new VNFD Identifier.

OpenModelAttribute

  • isInvariant: true
Table of Contents
printablefalse

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 TypevnfdIdIdentifier1

Identifier of this VNFD information element. This attribute shall be globally unique.

NOTE: The VNFD Identifier shall be used as the unique identifier of the VNF Package that contains this VNFD.

Any modification of the content of the VNFD or the VNF Package shall result in a new VNFD Identifier.

OpenModelAttribute

  • isInvariant: true
  • support:  MANDATORY
attributevnfProviderString1Provider of the VNF and of the VNFD.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attributevnfProductNameString1Name to identify the VNF Product. Invariant for the VNF Product lifetime.

OpenModelAttribute

  • isInvariant: true
  • support:  MANDATORY
attributevnfSoftwareVersionString1Software version of the VNF. This is changed when there is any change to the software that is included in the VNF Package.

OpenModelAttribute

isInvariant: false
  • support:  MANDATORY


attribute
vnfdVersion
vnfProviderString1
Identifies
Provider of the
version
VNF and of the VNFD.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attribute
vnfProductInfoName
vnfProductNameString
0..
1
Human readable name for
Name to identify the VNF Product.
Can change during
Invariant for the VNF Product lifetime.

OpenModelAttribute

  • isInvariant:
false
  • true
  • support:  MANDATORY
attribute
vnfProductInfoDescription
vnfSoftwareVersion
String
Version
0..
1
Human readable description
Software version of the VNF
Product. Can change during the VNF Product lifetime
. This is changed when there is any change to the software that is included in the VNF Package.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attribute
vnfmInfo
vnfdVersion
String
Version1
0..N
Identifies
VNFM(s) compatible with
the
VNF described in this
version of the VNFD.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
valueRange: use 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".
attribute
localizationLanguage
vnfProductInfoNameString0..
N

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
1Human readable name for the VNF Product. Can change during the VNF Product lifetime.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
attribute
vnfProductInfoDescriptionString0..1Human readable description of the VNF Product. Can change during the VNF Product lifetime.

OpenModelAttribute

  • isInvariant: false
  • support:  MANDATORY
valueRange: refer to ISO936 https://www.iso.org/iso-639-language-codes.html
attribute
defaultLocalizationLanguage
vnfmInfoString0..
1Default localization language that is instantiated if no information about selected localization language is available
*Identifies VNFM(s) compatible with the VNF described in this version of the VNFD.

OpenModelAttribute

  • isInvariant: false
  • support: 
CONDITIONAL-
  • condition: Shall be present if "localizationLanguage" is present and shall be absent otherwise.
  • attributevduVdu1..NVirtualisation Deployment Unit.
    • MANDATORY
    • valueRange:
    refer to ISO936 https://www.iso.org/iso-639-language-codes.html
    • use 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".
      Remove this from the valueRange and put in the description.
    attribute
    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.


    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    associationvirtualComputeDescVirtualComputeDesc1..NDefines descriptors of virtual compute resources to be used by the VNF

    Remove this from the valueRange and put in the description.

    attribute
    defaultLocalizationLanguageString0..1

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

    OpenModelAttribute

    • isInvariant: false
    • support: 
    MANDATORYassociationvirtualStorageDescVirtualStorageDesc
    • CONDITIONAL-MANDATORY
    • valueRange: refer to ISO936 https://www.iso.org/iso-639-language-codes.html
      Remove this from the valueRange and put in the description.
    • condition: Shall be present if "localizationLanguage" is present and shall be absent otherwise.
    attribute
    vduVdu1..*Virtualisation Deployment Unit.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association
    virtualComputeDescVirtualComputeDesc1..*
    0..N
    Defines descriptors of virtual
    storage
    compute resources to be used by the VNF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association

    IN IFA 011 but not in clean

    swImageDesc

    SwImageDesc
    virtualStorageDescVirtualStorageDesc0..
    N
    *Defines descriptors of
    software images
    virtual storage resources to be used by the VNF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association

    IN IFA 011 but not in clean

    swImageDesc

    SwImageDesc0..*

    Defines descriptors of software images to be used by the VNF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    association
    intVirtualLinkDescVnfVirtualLinkDesc0..
    N
    *Represents the type of network connectivity mandated by the VNF provider between two or more CPs which includes at least one internal CP.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association
    vnfReservedCpdVduCpd0..NReserved IP Address for VNF which is not bounded to any specific VNFC, but assigned manually from outside and potentially shared as

    IN IFA 011 but not in clean

    securityGroupRule

    Note: As this is not in the SOL001 v2.5.1 data model, propose that this NOT be added unless requested.

    SecurityGroupRule (not sure if this is datatype or class, as it is not in the model.)0..*Defines security group rules to be used by the VNF. (See definition of SecurityGroupRule in IFA011 v2.5.1)

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    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


    association
    vnfExtCpdVnfExtCpd1..
    N
    *Describes external interface(s) exposed by this VNF enabling connection with a VL.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association
    deploymentFlavourVnfDf1..
    N
    *Describes specific DF(s) of a VNF with specific requirements for capacity and performance.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association
    configurablePropertiesVnfConfigurableProperties0..1Describes the configurable properties of the VNF (e.g. related to auto scaling and auto healing).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    modifiableAttributesVnfInfoModifiableAttributes1 (IFA has 0..1)

    Describes the modifiable attributes of the VNF.

    Editor's note: need check the usage of this attribute


    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    lifeCycleManagementScriptVnfLifeCycleManagementScript0..
    N
    *Includes a list of events and corresponding management scripts performed for the VNF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    NOTE: This is "obsolete" in IFA011 v2.5.1, so mark it as "obsolete"

    Remove it, from diagram too.

    elementGroup

    VnfdElementGroup0..
    N
    *Describes the associated elements of a VNFD for a certain purpose during VNF lifecycle management.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association
    vnfIndicatorVnfIndicator0..
    N
    *Declares the VNF indicators that are supported by this VNF.

    OpenModelAttribute

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    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

    IN IFA 011 but not in clean

    autoScale

    Note: Not in data model IFA001 V2.5.1 so recommend not to add this

    Rule0..
    N
    *Rule that determines when a scaling action needs to be triggered on a VNF instance e.g. based on certain VNF indicator values or VNF indicator value changes or a combination of VNF indicator value(s) and monitoring parameter(s). 

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    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). Remove the following as not relevant to the info model: References: tosca-nfv-YAML-v1.0-wd05-rev02 ETSI GS NFV-IFA 011 V2.1.3

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary
    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
    vduIdIdentifier1

    Unique identifier of this Vdu in VNFD.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    attribute
    nameString1Human readable name of the Vdu.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    descriptionString1Human readable description of the Vdu.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    intCpdVduCpd1..
    N
    *Describes network connectivity between a VNFC instance (based on this Vdu) and
    an
    a Virtual Link (VL).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association
    virtualComputeDesc

    Identifier (reference to VirtualComputeDesc)

    Info model has type: VirtualComputeDesc which makes more sense because this is an association member end.

    1Describes CPU, Memory and acceleration requirements of the Virtualisation Container realising this Vdu.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    association
    virtualStorageDesc

    Identifier (reference to VirtualStorageDesc)

    Info model has type: VirtualStorageDesc which makes more sense because this is an association member end.

    0..
    N
    *Describes storage requirements for a VirtualStorage instance attached to the virtualisation container created from virtualComputeDesc defined for this Vdu.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    association
    bootOrderKeyValuePair0..
    N
    *

    Boot order of valid boot devices. (lowest index defines highest boot priority).

    NOTE: If no boot order is defined the default boot order defined in the VIM or NFVI shall be used.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    • valueRange: "key/name" indicates the the boot index "value" references a descriptor from which a valid boot device is created e.g. VirtualStorageDesc from which a VirtualStorage instance is created.

    Remove this from valueRange and put in description.

    attribute
    swImageDesc

    SwImageDesc (in model)

    IFA 011 has Identifier

    This is member end of an association.



    0..1

    Editor's note: the scenario of using "0" needs to be clarified.


    Describes the software image which is directly loaded on the virtualisation container realising this Vdu.

    NOTE: More software images can be attached to the virtualisation container using VirtualStorage resources.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    association
    nfviConstraintKeyValuePair0..
    N
    *

    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.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    • valueRange: "key/name" includes "AvailabilityZone", "HostAggregates".

    Remove from valueRange and put in description.

    attribute
    monitoringParameterMonitoringParameter0..
    N
    *Defines the virtualised resources monitoring parameters on VDU level.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    configurablePropertiesVnfcConfigurableProperties1Describes the configurable properties of all VNFC instances based on this VDU.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    injectFiles

    New in IFA011 v2.5.1

    bootData

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

    OpenModelAttribute

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    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


    attribute






    Class: SwImageDesc

    This information element describes the software image for a particular VDU or a virtual storage resource. Remove:  References: tosca-nfv-YAML-v1.0-wd05-rev02 ETSI GS NFV-IFA 011 V2.1.3

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary
    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
    idIdentifier1The identifier of this software image.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    attribute
    nameString1The name of this software image.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    version

    String

    Should this be Version?

    1The version of this software image.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    checksumString1The checksum of the software image file.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    attribute
    containerFormatString1The container format describes the container file format in which software image is provided.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    diskFormatString1The disk format of a software image is the format of the underlying disk image.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    minDiskNumber
    (recommended DM type: Scalar-Unit-Size)
    1
    1
    The minimal disk size requirement for this software image. The value of the "size of storage" attribute of the VirtualStorageDesc referencing this SwImageDesc shall not be smaller than the value of minDisk.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    minRamNumber
    (recommended DM type: Scalar-Unit-Size)
    0..1The minimal RAM requirement for this software image. The value of the "size" attribute of VirtualMemoryData of the Vdu referencing this SwImageDesc shall not be smaller than the value of minRam.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    size

    Number

    (recommended DM type: Scalar-Unit-Size)


    1

    The size of this software image.


    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    swImage

    Identifier (Reference to a SwImage)

    Model has type SwImage which makes more sense because this is a member end of an association

    1This is a reference to the actual software image. The reference can be relative to the root of the VNF Package or can be a URL.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    association
    operatingSystemString0..1

    Identifies the operating system used in the software image. This attribute may also identify if a 32 bit or 64 bit software image is used. Remove "support:"

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    supportedVirtualisationEnvironmentString0..
    N
    *Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    attribute

    Class: VirtualComputeDesc


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

    ...

    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
    virtualComputeDescIdIdentifier1Unique identifier of this VirtualComputeDesc in the VNFD.

    OpenModelAttribute

    • isInvariant: true
    • support: MANDATORY
    attribute
    logicalNodeLogicalNodeDataLogicalNodeRequirements10..N*The logical Node requirements.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attributeassociation
    requestAdditionalCapabilitiesRequestedAdditionalCapabilityData0..N*Specifies requirements for additional capabilities. These may be for a range of purposes. One example is acceleration related capabilities.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    attribute
    computeRequirementsKeyValuePair0..N*Specifies compute requirements.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    virtualMemory

    VirtualMemoryData

    1The virtual memory of the virtualised compute.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute
    virtualCpu

    VirtualCpuData

    1The virtual CPU(s) of the virtualised compute.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    New in IFA011

    virtualDisk

    BlockStorageData (need to create this new datatype)0..*The local or ephemeral disk(s) of the virtualized compute.

    Experimental

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    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 Stereotypes
    cpuArchitectureString0..1CPU architecture type. Examples are x86, ARM. The cardinality can be 0 during the allocation request, if no particular CPU architecture type is requested.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    numVirtualCpuInteger1Number of virtual CPUs.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    virtualCpuClockNumber
    (recommended DM type: Scalar-Unit-Freq)
    0..
    0..
    1Minimum virtual CPU clock rate (e.g. in MHz). The cardinality can be 0 during the allocation request, if no particular value is requested.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    virtualCpuOversubscriptionPolicy
    String

    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
    vduCpuRequirementsKeyValuePair0..
    N
    *Array of key-value pair requirements on the Compute (CPU) for the VDU.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    virtualCpuPinningVirtualCpuPinningData0..1The virtual CPU pinning configuration for the virtualised compute resource.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    editor's note: need to check whether can be optional


    Datatype: VirtualMemoryData

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

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    virtualMemSizeNumber (recommended DM type: Scalar-Unit-Size) 1Amount of virtual Memory (e.g. in MB).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    virtualMemOversubscriptionPolicyString
    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
    vduMemRequirements

    KeyValuePair

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    numaEnabledBoolean
    0..1

    It specifies the memory allocation to be cognisant 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

    Class: VirtualStorageDesc

    The VirtualStorageDesc class 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

    ...

    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    id

    Identifier

    1

    Unique identifier of this VirtualStorageDesc in the VNFD.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    attribute

    typeOfStorageString

    StorageType (enum with values: BLOCK, OBJECT, FILE)

    1

    Type of virtualised storage resource
    (e.g. volumeBLOCK, OBJECT, objectFILE).

    Experimental

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    sizeOfStorage

    Number (recommended DM type: Scalar-Unit-Size)

    1

    DELETED in IFA011 v2.5.1. Should we keep this and mark as "Obsolete"?

    Number

    1

    Size of virtualised storage resource
    (e.g. size of volume, in GB).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    vduStorageRequirements

    This is moved to BlockStorageData


    KeyValuePair

    0..N*

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    rdmaEnabled

    This is moved to BlockStorageData

    Boolean

    0..1

    Indicate if the storage support RDMA.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    swImageDesc

    This is moved to BlockStorageData

    Identifier (Reference to SwImageDesc)

    In info model type is SwImageDesc which makes sense as this is an association member end

    0..1

    Software image to be loaded on the VirtualStorage resource created based on this VirtualStorageDesc.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    association

    Datatype: LogicalNodeData

    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

    New in IFA011

    blockStorageData

    BlockStorageData (new datatype to be created)0..1Specifies the details of block storage. It shall be present when the "typeOfStorage" attribute is set to "BLOCK". It shall be absent otherwise.

    Experimental

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    New in IFA011

    objectStorageData

    ObjectStorageData (new datatype to be created)0..1Specifies the details of object storage. It shall be present when the "typeOfStorage" attribute is set to "OBJECT". It shall be absent otherwise.

    Experimental

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    New in IFA011

    fileStorageData

    FileStorageData (new datatype to be created)
    Specifies the details of file storage. It shall be present when the "typeOfStorage" attribute is set to "FILE". It shall be absent otherwise.
    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    logicalNodeRequirements

    KeyValuePair

    0..N

    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.

    Experimental

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

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

    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
    Attribute
    NameTypeMultiplicityDescriptionApplied Stereotypes
    Attribute TypecpdId

    New in IFA011

    id

    Identifier1
    Identifier of this Cpd information element
    Identifies this set of logical node requirements.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    attribute

    In IFA 011 and model but not in clean:

    layerProtocol

    Enum

    Model has type LayerProtocol

    logicalNodeRequirementDetail

    KeyValuePair

    1..

    NIdentifies which protocol the CP uses for connectivity purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.)

    *

    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

    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 Type

    bitrateRequirement

    Number (recommended DM type: Scalar-Unit-Rate)

    0..1

    Bitrate requirement on this CP.

    OpenModelAttribute

    isInvariant: falseInformation about whether the CP instantiated from this CPD is in Trunk mode (802.1Q or other)
    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    cpdId

    Identifier

    1

    Identifier of this Cpd information element.

    OpenModelAttribute

    • isInvariant: true
    attribute

    cpRole

    In model this is called cpdRole to distinguish it from a cpRole

    String

    0..1

    Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS.

    For example a VNF with a tree flow pattern within the VNF will have legal cpRoles of ROOT and LEAF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    description

    String

    0..1

    Provides human-readable information on the purpose of the CP (e.g. CP for control plane traffic).

    • support:  MANDATORY
    attribute

    In IFA 011 and model but not in clean:

    layerProtocol

    Enum

    Model has type LayerProtocol

    cpProtocol

    CpProtocolData

    1..NIdentifies the which protocol layering information the CP uses for connectivity purposes and associated information. There shall be one cpProtocol for each layer protocol as indicated by the attribute layerProtocol.

    Editor's note: the attribute "layerProtocol" still needs further discussion. The info model has layerProtocol and has moved cpProtocol to sub-classes.

    (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.).

    OpenModelAttribute

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    attribute

    trunkMode

    Boolean

    1

    cpRole

    In model this is called cpdRole to distinguish it from a cpRole

    String

    0..1

    Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS.

    For example a VNF with a tree flow pattern within the VNF will have legal cpRoles of ROOT and LEAF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    allowedAddressDatadescription

    AddressDataString

    0..N1

    Provides human-readable information on the purpose of the CP (e.g. CP for control plane traffic)For specifying floating IP(s) to be shared among Cpds, which are reserved for vnfReservedCpd described in the VNFD.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    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 

    cpProtocol

    CpProtocolData

    1..N

    Identifies the protocol layering information the CP uses for connectivity purposes and associated information. There shall be one cpProtocol for each layer protocol as indicated by the attribute layerProtocol.

    The info model has layerProtocol and has moved cpProtocol to sub-classes. Note: For now keep cpProtocol in Cpd.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    trunkMode

    Boolean

    1

    Information about whether the CP instantiated from this CPD is in Trunk mode (802.1Q or other).

    0.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    vnicName

    String

    New in IFA011 v2.5.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
    attribute

    vnicOrder (see newly added attribute below "order" to see if it could replace this)

    Integer

    securityGroupRuleId

    Note: not added in the model for R4

    Identifier

    (reference to SecurityGroupRule

    0..
    1
    *
    Describes the order to create the vNIC within the scope of this Vdu
    Reference of the security group rules bound to this CPD.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    vnicType

    Enum
    or association?

    allowedAddressData

    Note: propose to move this out of common definition of Cpd as it is specific to VNFD.

    AddressData

    0..

    1Describes the type of the vNIC this CP attaches to

    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
  • valueRange: normal, macvtap, direct, baremetal, direct-physical and virtio-forwarder
  • Note: This is an Enum and would not have a valueRange specified

    attribute


    attribute

    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 Type

    bitrateRequirement

    Number

    virtualNetworkInterfaceRequirementsVirtualNetworkInterfaceRequirements0..NSpecifies requirements on a virtual network interface realising the CPs instantiated from this CPD.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association

    IFA 011 and model both contain

    intVirtualLinkDesc

    VnfVirtualLinkDesc (model)

    Identifier (IFA 011)

    0..1

    Reference of the internal VLD which this internal CPD connects to

    Bitrate requirement on this CP.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    PassedByReference


    attribute
    association

    vnicName

    String

    IFA 011 and model both contain

    order

    Integer

    0..1

    The order

    Describes the name of the

    NIC to be assigned on the compute instance (

    vNIC this CP attaches to, e.g

    . 2 for eth2).

    Note: when binding more than one port to a single compute (aka multi vNICs) and ordering is desired, it is mandatory that all ports will be set with an order

    value. The order values shall represent a positive, arithmetic progression that starts with 0 (i.e. 0, 1, 2,..., n).

    . eth0. It will be configured during the Vdu booting process.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    attribute

    vnicOrder (see newly added attribute below "order" to see if it could replace this)

    Integer

    0..1

    Describes the order to create the vNIC within the scope of this Vdu

    If the property is not present, it shall be left to the VIM to assign a value when creating the instance

    .

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    attribute
    Note that model contains cpProtocol at this sub-class level rather than in cpd(inherited attributes)All attributes inherited from Cpd.

    Class: VnfExtCpd

    A VnfExtCpd is a type of Cpd and describes an external interface, a.k.a external CP, exposed by this VNF enabling connection with a VL.

    When the VnfExtCpd is mapped to a VduCpd, the values for the attributes type, subType and description shall be identical for both elements.

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary

    vnicType

    Note: This is new in IFA011 v2.5.1

    Enum (create an enum called VnicType with the literals specified in valueRange ...in CAPS)

    0..1

    Describes the type of the virtual network interface realizing the CPs instantiated from this CPD. This is used to determine which mechanism driver(s) to be used to bind the port. 

    Experimental

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    • valueRange: NORMAL, MACVTAP, DIRECT, BAREMETAL, DIRECT_PHYSICAL and VIRTIO_FORWARDER

    Note: This is an Enum and would not have a valueRange specified

    attribute
    virtualNetworkInterfaceRequirementsVirtualNetworkInterfaceRequirements0..*Specifies requirements on a virtual network interface realizing the CPs instantiated from this CPD.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    association

    IFA 011 and model both contain

    intVirtualLinkDesc

    VnfVirtualLinkDesc (model)

    Identifier (IFA 011)

    0..1Reference of the internal VLD which this internal CPD connects to
    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    intCpd

    Identifier (Reference to VduCpd)

    Model has type VduCpd which makes more sense as this is a member end of an association

    0..1

    Reference to the internal VDU CPD which is used to instantiate internal CPs. These internal CPs are, in turn, exposed as external CPs defined by this external CPD
    .

    OpenModelAttribute

    • isInvariant: false
    • support: 
    CONDITIONAL-
    • MANDATORY
  • condition: Either intVirtualLinkDesc or intCpd shall be present.

  • PassedByReference
    association
    Both

    IFA 011 and model

    have

    both contain

    intVirtualLinkDesc

    Identifier (IFA 011)

    Model has type VnfVirtualLinkDesc

    order


    Note: Did not add this due to presence of vnicOrder

    Integer0..1
    Reference to the internal Virtual Link Descriptor (VLD) to which CPs instantiated from this external CP Descriptor (CPD) connect.

    OpenModelAttribute

    • isInvariant: false
    • support:  CONDITIONAL-MANDATORY
    • condition: Either intVirtualLinkDesc or intCpd shall be present.
    PassedByReferenceassociation

    The order of the NIC to be assigned on the compute instance (e.g. 2 for eth2).

    Note: when binding more than one port to a single compute (aka multi vNICs) and ordering is desired, it is mandatory that all ports will be set with an order

    value. The order values shall represent a positive, arithmetic progression that starts with 0 (i.e. 0, 1, 2,..., n).


    If the property is not present, it shall be left to the VIM to assign a value when creating the instance
    virtualNetworkInterfaceRequirementsVirtualNetworkInterfaceRequirements0..N

    Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD.

    NOTE: In case of referencing an intCpd via its identifier, the virtualNetworkInterfaceRequirements attribute of the referenced intCpd applies
    .

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association


    attribute
    Note
    : info
    that model
    defines
    contains cpProtocol at this sub-class level
    and not
    rather than in cpd
    .





    (inherited attributes)

    All attributes inherited from Cpd.

    Class:

    ...

    vduId

    ...

    Identifier (Reference to Vdu)

    ...

    1

    ...

    Uniquely identifies a VDU.

    ...

    minNumberOfInstances

    ...

    Integer

    ...

    1

    ...

    Minimum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour.

    ...

    maxNumberOfInstances

    ...

    Integer

    ...

    1

    ...

    Maximum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour.

    ...

    localAffinityOrAntiAffinityRule

    ...

    LocalAffinityOrAntiAffinityRule

    ...

    0..N

    ...

    Specifies affinity or anti-affinity rules applicable between the virtualisation containers (e.g. virtual machines) to be created based on this VDU.

    When the cardinality is greater than 1, both affinity rule(s) and anti-affinity rule(s) with different scopes (e.g. "Affinity with the scope resource zone and anti-affinity with the scope NFVI node") are applicable to the virtualisation containers (e.g. virtual machines) to be created based on this VDU.

    ...

    support: MANDATORY

    ...

    Identifier(s) of the affinity or anti-affinity group(s) the VDU belongs to.

    NOTE: Each identifier references an affinity or anti-affinity group which expresses affinity or anti-affinity relationships between the virtualisation container(s) (e.g. virtual machine(s)) to be created using this VDU and the virtualisation container(s) (e.g. virtual machine(s)) to be created using other VDU(s) in the same group.

    ...

    VnfExtCpd

    A VnfExtCpd is a type of Cpd and describes an external interface, a.k.a external CP, exposed by this VNF enabling connection with a VL.

    When the VnfExtCpd is mapped to a VduCpd, the values for the attributes type, subType and description shall be identical for both elements.

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary
    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    intCpd

    Identifier (Reference to VduCpd)

    Model has type VduCpd which makes more sense as this is a member end of an association

    0..1

    Reference to the internal VDU CPD which is used to instantiate internal CPs. These internal CPs are, in turn, exposed as external CPs defined by this external CPD.

    OpenModelAttribute

    • isInvariant: false
    • support:  CONDITIONAL-MANDATORY
    • condition: Either intVirtualLinkDesc or intCpd shall be present.
    PassedByReference
    association

    Both IFA 011 and model have

    intVirtualLinkDesc

    Identifier (IFA 011)

    Model has type VnfVirtualLinkDesc

    0..1Reference to the internal Virtual Link Descriptor (VLD) to which CPs instantiated from this external CP Descriptor (CPD) connect.

    OpenModelAttribute

    • isInvariant: false
    • support:  CONDITIONAL-MANDATORY
    • condition: Either intVirtualLinkDesc or intCpd shall be present.
    PassedByReference
    association
    virtualNetworkInterfaceRequirementsVirtualNetworkInterfaceRequirements0..*

    Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD.

    NOTE: In case of referencing an intCpd via its identifier, the virtualNetworkInterfaceRequirements attribute of the referenced intCpd applies.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association
    Note: info model defines cpProtocol at this sub-class level and not in cpd.




    (inherited attributes)

    All attributes inherited from Cpd.

    Class: VduProfile

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

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary

    Class: VirtualNetworkInterfaceRequirements

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    Attribute Type

    name

    String

    0..1

    Provides a human readable name for the requirement.

    support: MANDATORY

    description

    String

    0..1

    Provides a human readable description of the requirement.

    support: MANDATORYsupportMandatoryBoolean1Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE).support: MANDATORYnetworkInterfaceRequirementsKeyValuePair0..NThe network interface requirements. An element from an array of key-value pairs that articulate the network interface deployment requirements.support: MANDATORYnicIoRequirementsIdentifier (reference to logicalNodeData)0..1

    This references (couples) the CPD with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CPD.

    support: MANDATORY

    Class: VnfVirtualLinkDesc

    ...

    virtualLinkDescId

    ...

    Identifier

    ...

    1

    ...

    Unique identifier of this internal VLD in VNFD.

    ...

    vduId

    Identifier (Reference to Vdu)

    1

    Uniquely identifies a VDU.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    PassedByReference
    Attribute

    minNumberOfInstances

    Integer

    1

    Minimum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour. Shall be zero or greater.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Experimental

    Attribute

    maxNumberOfInstances

    Integer

    1

    Maximum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour. Shall be greater than zero.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Experimental

    Attribute

    localAffinityOrAntiAffinityRule

    LocalAffinityOrAntiAffinityRule

    0..*

    Specifies affinity or anti-affinity rules applicable between the virtualization containers (e.g. virtual machines) to be created based on this VDU.

    When the cardinality is greater than 1, both affinity rule(s) and anti-affinity rule(s) with different scopes (e.g. "Affinity with the scope resource zone and anti-affinity with the scope NFVI node") are applicable to the virtualization containers (e.g. virtual machines) to be created based on this VDU.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    affinityOrAntiAffinityGroupIdIdentifier0..*

    Identifier(s) of the affinity or anti-affinity group(s) the VDU belongs to.

    NOTE: Each identifier references an affinity or anti-affinity group which expresses affinity or anti-affinity relationships between the virtualization container(s) (e.g. virtual machine(s)) to be created using this VDU and the virtualization container(s) (e.g. virtual machine(s)) to be created using other VDU(s) in the same group.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    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
    Attribute
    vmBootUpTimeOutInteger0..1Timeout value for the VNFM to wait before the successful booting up of the VDU.

    OpenModelAttribute

    • isInvariant: false
    • support:  OPTIONAL
    Attribute

    Class: VirtualNetworkInterfaceRequirements

    This class specifies requirements on a virtual network interface.

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    Preliminary 

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    flavorId

    Identifier

    1

    Identifier of this DF within the VNFD.
    Attribute Type

    name

    String

    0..1

    Provides a human readable name for the requirement.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    description

    String

    0..1

    Human

    Provides a human readable description of the

    DF

    requirement.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    vduProfile
    supportMandatory
    VduProfile
    Boolean1
    ..NDescribes additional instantiation data for the VDUs used in this flavor.support: MANDATORYvirtualLinkProfileVirtualLinkProfile
    Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    networkInterfaceRequirements

    KeyValuePair

    0..* (For IFA011 0..N

    Defines the internal VLD along with additional data which is used in this DF.

    NOTE 1: This allows for different VNF internal topologies between DFs.

    NOTE 2: virtualLinkProfile needs to be provided for all VLs that the CPs of the VDUs in the VDU profiles connect to.

    support: MANDATORYinstantiationLevelInstantiationLevel1..N

    Describes the various levels of resources that can be used to instantiate the VNF using this flavour.

    Examples: Small, Medium, Large.

    If there is only one "instantiationLevel" entry, it shall be treated as the default instantiation level for this DF.

    support: MANDATORYaffinityOrAntiAffinityGroupAffinityOrAntiAffinityGroup0..N

    Specifies affinity or anti-affinity relationship applicable between the virtualisation containers (e.g. virtual machines) to be created using different VDUs or internal VLs to be created using different VnfVirtualLinkDesc(s) in the same affinity or anti-affinity group.

    NOTE: In the present specification, including either VDU(s) or VnfVirtualLinkDesc(s) into the same affinity or anti-affinity group is supported. Extension to support including both VDU(s) and VnfVirtualLinkDesc(s) into the same affinity or anti-affinity group is left for future specification.

    support:

    MANDATORY

    scalingAspectScalingAspect0..NThe scaling aspects supported by this DF of the VNF. scalingAspect shall be present if the VNF supports scaling.

    support:

    MANDATORY

    placementGroupPlacementGroup0..NDetermine where VNFC's (VDU's) are placed with respect to the VNFsupport: EXPERIMENTALbaseConfigGroupBaseConfigGroup0..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.
    support: EXPERIMENTALdeploymentGroupDeploymentGroup1..NDeploymentGroup provides the minimum viable VDU and associated VNFC configuration for a useable VNF.support: EXPERIMENTAL

    Class: VirtualLinkProfile

    ...

    vnfVirtualLinkDescId

    ...

    Identifier (Reference to VnfVirtualLinkDesc)

    ...

    1

    ...

    Uniquely identifies a Vnf VLD.

    ...

    Specifies affinity or anti-affinity rules applicable between the VLs based on this VnfVirtualLinkDesc.

    When the cardinality is greater than 1, both affinity rule(s) and anti-affinity rule(s) with different scopes are applicable to the VLs based on this VnfVirtualLinkDesc.

    ...

    Identifier(s) of the affinity or anti-affinity group(s) the VnfVirtualLinkDesc belongs to.

    NOTE: Each identifier references an affinity or anti-affinity group which expresses affinity or anti-affinity relationship between the VL(s) using this VnfVirtualLinkDesc and the VL(s) using other VnfVirtualLinkDesc(s) in the same group.

    ...

    Specifies the maximum bitrate requirements for a VL instantiated according to this profile.

    NOTE: These attributes are used to control scaling boundaries.

    ...

    Specifies the minimum bitrate requirements for a VL instantiated according to this profile.

    ...

    support: MANDATORY

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

    )

    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
    Attribute
    nicIoRequirements

    LogicalNodeRequirements

    0..1

    This references (couples) the CPD with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CPD.

    Experimental

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    Attribute

    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: Model has this class, but not IFA011. ONAP has not defined this class ***

    Applied Stereotypes:

    • OpenModelClass

              support:  MANDATORY

    • Preliminary 
    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    virtualLinkDescId

    Identifier

    1

    Unique identifier of this internal VLD in VNFD.B

    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
    virtualLinkDescFlavourVirtualLinkDescFlavour1..*Describes a specific flavour of the VL with specific bitrate requirements.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    connectivityType

    ConnectivityType


    1Model defines this as: Specifies the protocol exposed by a VL and the flow pattern supported by the VL.

    Note: Inherited from Class VirtualLinkDesc

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    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
    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
    monitoringParameterMonitoringParameter0..*Defines the virtualized resources monitoring parameters on VLD level. 

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    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 Type

    flavorId

    Identifier

    1

    Identifier of this DF within the VNFD.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    Attribute
    descriptionString1Human readable description of the DF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    vduProfileVduProfile1..*Describes additional instantiation data for the VDUs used in this flavor.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    virtualLinkProfileVirtualLinkProfile0..*

    Defines the internal VLD along with additional data which is used in this DF.

    NOTE 1: This allows for different VNF internal topologies between DFs.

    NOTE 2: virtualLinkProfile needs to be provided for all VLs that the CPs of the VDUs in the VDU profiles connect to.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    instantiationLevelInstantiationLevel1..*

    Describes the various levels of resources that can be used to instantiate the VNF using this flavour.

    Examples: Small, Medium, Large.

    If there is only one "instantiationLevel" entry, it shall be treated as the default instantiation level for this DF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    affinityOrAntiAffinityGroupAffinityOrAntiAffinityGroup0..*

    Specifies affinity or anti-affinity relationship applicable between the virtualisation containers (e.g. virtual machines) to be created using different VDUs or internal VLs to be created using different VnfVirtualLinkDesc(s) in the same affinity or anti-affinity group.

    NOTE: In the present specification, including either VDU(s) or VnfVirtualLinkDesc(s) into the same affinity or anti-affinity group is supported. Extension to support including both VDU(s) and VnfVirtualLinkDesc(s) into the same affinity or anti-affinity group is left for future specification.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    scalingAspect

    ScalingAspect


    0..*The scaling aspects supported by this DF of the VNF. scalingAspect shall be present if the VNF supports scaling.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    placementGroupPlacementGroup0..*Determine where VNFC's (VDU's) are placed with respect to the VNF

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    Association
    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

    Association
    deploymentGroupDeploymentGroup1..*DeploymentGroup provides the minimum viable VDU and associated VNFC configuration for a useable VNF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Experimental

    Association

    IFA011 also defines:

    defaultInstantiationLevelId

    supportedOperation

    vnfLcmOperationsConfiguration

    vnfIndicator

    initialDelta

    monitoringParameter

    Should these be added?

    Note: For now have only included defaultInstantiationLevelId , monitoringParameter and vnfIndicator (missing association)







    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 StereotypesAttributeType

    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
    Attribute

    vnfVirtualLinkDescId

    Identifier (Reference to VnfVirtualLinkDesc)

    Model has type VnfVirtualLinkDesc because this is a member end of an association

    1

    Uniquely identifies a Vnf VLD.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    Association
    flavourId

    Identifier (Reference to VirtualLinkDescFlavour)


    1

    Identifies a flavour within the VnfVirtualLinkDesc.

    Model says it's a flavor within the VLD

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    Association
    localAffinityOrAntiAffinityRuleLocalAffinityOrAntiAffinityRule0..*

    Specifies affinity or anti-affinity rules applicable between the VLs based on this VnfVirtualLinkDesc.

    When the cardinality is greater than 1, both affinity rule(s) and anti-affinity rule(s) with different scopes are applicable to the VLs based on this VnfVirtualLinkDesc.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    Attribute
    affinityOrAntiAffinityGroupId

    Identifier

    Model has AffinityOrAntiAffinityGroup as this is an association end.

    0..*

    Identifier(s) of the affinity or anti-affinity group(s) the VnfVirtualLinkDesc belongs to.

    NOTE: Each identifier references an affinity or anti-affinity group which expresses affinity or anti-affinity relationship between the VL(s) using this VnfVirtualLinkDesc and the VL(s) using other VnfVirtualLinkDesc(s) in the same group.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    Association
    maxBitRateRequirements

    LinkBitrateRequirements


    1

    Specifies the maximum bitrate requirements for a VL instantiated according to this profile.

    NOTE: These attributes are used to control scaling boundaries.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    Attribute
    minBitRateRequirementsLinkBitrateRequirements1

    Specifies the minimum bitrate requirements for a VL instantiated according to this profile.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    New in IFA011 v2.5.1

    virtualLinkProtocolData

    VirtualLinkProtocolData (see definition of this datatype in IFA011 v2.5.1)0..*Specifies the protocol data for a VL instantiated according to this profile. Cardinality 0 is used when no protocol data needs to be specified. 

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    initiationParameters


    Note: This will be deleted as it is now part of the L3ProtocolData which is referenced as part of the VirtualLinkProtcolData


    KeyValuePair0..*Specifies initiation parameters for the virtual link.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

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

    Note: Incorrect usage of valueRange, remove this and put in the description


    Attribute

    networkType


    Note: This will be deleted as it is now part of the L2ProtocolData which is referenced as part of the VirtualLinkProtcolData

    Enum


    0..1Type of the network.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    valueRange: "VLAN", "VXLAN"

    Note: incorrect usage of valueRange. It is not intended to define enums

    Attribute

    dhcpEnabled

    Note: This will be deleted as it is now part of the L3ProtocolData which is referenced as part of the VirtualLinkProtcolData

    Boolean0..1Indicating whether DHCP is enabled. Default is "FALSE" if not specified otherwise.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    vlanTransparent

    Note: This will be deleted as it is now part of the L2ProtocolData which is referenced as part of the VirtualLinkProtcolData


    Boolean0..1Indicating whether "VLAN Transparent Mode" is supported. Default is "FALSE" if not specified otherwise.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    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 NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    flavourId

    Identifier

    1

    Identifies a flavour within a VnfVirtualLinkDesc.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    Attribute
    qos

    QoS

    Model has VnfQoS

    We should consider putting QoS in Common

    and VnfQoS in Vnf and NsQos in Ns sub-models

    0..1QoS of the VL.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    Datatype: LinkBitrateRequirements - Missing in output of model

    The LinkBitrateRequirements datatype describes the requirements in terms of bitrate for a Virtual Link.

    Applied Stereotypes:

    Preliminary

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    root

    Number

    1

    Throughput requirement of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    leafNumber0..1

    Throughput requirement of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E?LAN branches).

    NOTE: The present document does not specify the means to declare different bitrate requirements for leaf connections (e.g. E-LAN leaves).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Class: InstantiationLevel

    The InstantiationLevel class describes a given level of resources to be instantiated within a DF in term of the number of VNFC instances to be created from each VDU.

    All the VDUs referenced in the level shall be part of the corresponding DF and their number shall be within the range (min/max) for this DF.

    Applied Stereotypes:

    • OpenModelClass

    -             support:  MANDATORY

    Preliminary 


    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    levelId

    Identifier

    1

    Uniquely identifies a level with the DF.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    Attribute
    descriptionString1Human readable description of the level.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    vduLevelVduLevel1..*Indicates the number of instance of this VDU to deploy for this level.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    virtualLinkBitRateLevel

    VirtualLinkBitRateLevel


    0..*

    Specifies bitrate requirements applicable to virtual links created from particular virtual link descriptors for this level.

    NOTE: If not present, it is assumed that the bitrate requirements can be derived from those specified in the VduCpd instances applicable to the internal VL. If present in both the InstantiationLevel and the VduCpd instances applicable to the internal VL, the highest value takes precedence.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    scaleInfoScaleInfo0..*Represents for each aspect the scale level that corresponds to this instantiation level. scaleInfo shall be present if the VNF supports scaling.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    Datatype: ScaleInfo

    This datatype provides information about the scale level of a VNF instance w.r.t. one scaling aspect.

    Applied Stereotypes:

    Preliminary

    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    aspectId

    Identifier (Reference to ScalingAspect)

    Model has ScalingAspect

    1

    Reference to the scaling aspect.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference


    scaleLevelInteger1The scale level, greater than or equal to 0.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute

    Class: VduLevel


    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type

    vduId

    Identifier (Reference to Vdu)

    Model has type Vdu as this is an association end

    1

    Uniquely identifies a VDU.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    Association
    numberOf InstancesInteger1Number of instances of VNFC based on this VDU to deploy for an instantiation level or for a scaling delta.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Experimental

    Association

    Datatype: QoS

    (Note: In model this is an abstract parent of NsQoS and VnfQoS. I recommend we create QoS in "common" with attributes as specified in the model, and then create VnfQoS and NsQos.)


    It is the asbstract parent of the NsQos and VnfQos datatypes, as the NsQoS (QoS in ETSI GS NFV IFA 014) includes a priority attribute, while VnfQoS (QoS in ETSI GS NFV IFA 011) does not.


    The QoS datatype specifies quality of service parameters applicable to a VL.

    Applied Stereotypes:

    • Preliminary


    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    latency

    Number

    1

    Maximum latency in ms.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    packetDelayVariationNumber1Maximum jitter in ms.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    packetLossRatioNumber0..1Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio requirement exists.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Datatype: LocalAffinityOrAntiAffinityRule - Missing from clean output

    The LocalAffinityOrAntiAffinityRule describes the affinity or anti-affinity rule applicable between the virtualization containers to be created based on a particular VDU, or between internal VLs to be created based on a particular VnfVirtualLinkDesc.

    Applied Stereotypes:

    Preliminary

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    type


    RuleType

    1

    Specifies whether the rule is an affinity rule or an anti-affinity rule.

    support: MANDATORY

    valueRange: "Affinity", "Anti-Affinity"

    Remove from valueRange and put into enum as caps

    scope

    RuleScope

    1Specifies the scope of the rule.

    support: MANDATORY

    valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node"

    Remove from valueRange and put into enum as caps

    Class: AffinityOrAntiAffinityGroup - missing in clean output

    Note: This should probably go into common as it is applicable to NS and VNFs with the following definition:

    The AffinityOrAntiAffinityGroup class describes the affinity or anti-affinity relationship.

    For NSs, those rules are applicable between the VNF instances created using different VnfProfiles, the Virtual Link instances created using different VlProfiles or the nested NS instances created using different NsProfiles.

    For VNFs, those rules are applicable between the virtualization containers to be created based on different VDUs, or between internal VLs to be created based on different VnfVirtualLinkDesc(s).

    Per VNF, the affinity / anti-affinity rules defined using this class, using the LocalAffinityOrAntiAffinityRule datatypet, and using the placement constraints in the GrantLifecycleOperation as defined in ETSI GS NFV IFA 007 should be conflict-free. In case of conflicts, the placement constraints in the GrantLifecycleOperation shall take precedence


    Applied Stereotypes:

    • OpenModelClass

    -             support:  MANDATORY

    Preliminary 

    ...

    support: MANDATORY

    valueRange: "VLAN", "VXLAN"

    ...


    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
    flavourId

    groupId

    Identifier

    1

    Identifies

    a flavour within a VnfVirtualLinkDesc.

    an affinity or anti-affinity group to which the affinity or anti-affinity rule applies.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    qosQoS0..1QoS of the VL.support: MANDATORY

    Datatype: LinkBitrateRequirements

    ...

    root

    ...

    Number

    ...

    1

    ...

    Throughput requirement of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN).

    ...

    Throughput requirement of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E?LAN branches).

    NOTE: The present document does not specify the means to declare different bitrate requirements for leaf connections (e.g. E-LAN leaves).

    ...

    Attribute

    type

    Model has affinityOrAntiAffinity

    Enum

    AffinityType with literals: "AFFINITY" "ANTI_AFFINITY)

    1Specifies whether the rule is an affinity rule or an anti-affinity rule.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    valueRange: "Affinity", "Anti-Affinity"


    Note: Incorrect usage of value range. Remove it

    Attribute
    scope

    AffinityOrAntiAffinityScope enum with literals: "NFVI_POP"

    "ZONE"

    "ZONE_GROUP"

    "NFVI_NODE"

    1Specifies the scope of the rule.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node

    Note: Incorrect usage of value range. Put in enum as CAPS.

    Datatype: AddressData - Missing in Clean Output

    The AddressData datatype supports providing information about the addressing scheme and parameters applicable to a CP.

    Applied Stereotypes:

    • Preliminary

    ...


    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    levelId

    addressType

    Identifier

    1

    Uniquely identifies a level with the DF.

    support: MANDATORYdescriptionString1Human readable description of the level.support: MANDATORYvduLevelVduLevel1..NIndicates the number of instance of this VDU to deploy for this level.support: MANDATORYvirtualLinkBitRateLevelVirtualLinkBitRateLevel0..N

    Specifies bitrate requirements applicable to virtual links created from particular virtual link descriptors for this level.

    NOTE: If not present, it is assumed that the bitrate requirements can be derived from those specified in the VduCpd instances applicable to the internal VL. If present in both the InstantiationLevel and the VduCpd instances applicable to the internal VL, the highest value takes precedence.

    support: MANDATORYscaleInfoScaleInfo0..NRepresents for each aspect the scale level that corresponds to this instantiation level. scaleInfo shall be present if the VNF supports scaling.support: MANDATORY

    Datatype: ScaleInfo

    ...

    aspectId

    ...

    Identifier (Reference to ScalingAspect)

    ...

    1

    ...

    Reference to the scaling aspect.

    ...

    Class: VduLevel

    ...

    vduId

    ...

    Identifier (Reference to Vdu)

    ...

    1

    ...

    Uniquely identifies a VDU.

    ...

    Both IFA011 and model have this as an enum called "AddressType" with literals:

    "MAC"

    "IP"

    (note: model incorrectly calls this AdressType)

    1

    Describes the type of the address to be assigned to the CP instantiated from the parent CPD.

    Value:


    • MAC address.
    • IP address.


    The content type shall be aligned with the address type supported by the layerProtocol attribute of the parent CPD.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    l2AddressData

    L2AddressData

    0..1

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

    Shall be present when the addressType is MAC address.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Experimental

    l3AddressDataL3AddressData0..1

    Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD.

    Shall be present when the addressType is IP address.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Datatype: L2AddressData - Missing in clean output

    The L2AddressData datatype provides information about Layer 2 level addressing applicable to a CP.

    Applied Stereotypes:

    Experimental

    ...


    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    latencymacAddressAssignment

    NumberBoolean

    1

    Maximum latency in ms.

    support: MANDATORY
    packetDelayVariationNumber1Maximum jitter in ms.support: MANDATORY
    packetLossRatioNumber0..1Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio requirement exists.support: MANDATORY

    Datatype: LocalAffinityOrAntiAffinityRule

    ...

    type

    ...

    Enum

    ...

    1

    ...

    Specifies whether the rule is an affinity rule or an anti-affinity rule.

    ...

    support: MANDATORY

    valueRange: "Affinity", "Anti-Affinity"

    ...

    support: MANDATORY

    valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node"

    Specify if the MAC address assignment is the responsibility of management and orchestration function or not.

    If it is set to True, it is the management and orchestration function responsibility.

    If it is set to False, it will be provided by an external entity, e.g. OSS/BSS. 

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Datatype: L3AddressData - Missing in clean output

    The L3AddressData datatype supports providing information about Layer 3 level addressing scheme and parameters applicable to a CP.

    Applied Stereotypes:

    Preliminary

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    groupIdiPAddressAssignment

    IdentifierBoolean

    1

    Identifies an affinity or anti-affinity group to which the affinity or anti-affinity rule applies.

    support: MANDATORY

    typeEnum1Specifies whether the rule is an affinity rule or an anti-affinity rule.

    support: MANDATORY

    valueRange: "Affinity", "Anti-Affinity"

    scopeEnum1Specifies the scope of the rule.

    support: MANDATORY

    valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node"

    Datatype: AddressData

    Specify if the address assignment is the responsibility of management and orchestration function or not.

    If it is set to True, it is the management and orchestration function responsibility.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    floatingIpActivatedBoolean1Specify if the floating IP scheme is activated on the CP or not.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    iPAddressType

    Enum

    IpAddressType

    0..1

    Define address type.

    Values:

    • IPv4 address.
    • IPv6 address

    NOTE: The address type should

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    addressType

    Identifier

    1

    Describes the type of the address to be assigned to the CP instantiated from the parent CPD. The content type shall

    be aligned with the address type supported by the layerProtocol attribute of the parent

    CPD.

    Cpd.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    l2AddressData

    L2AddressData

    0..1

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

    Shall be present when the addressType is MAC address.

    support: MANDATORY

    valueRange: "IPv4", "IPv6"

    Note: Incorrect usage of value range

    numberOfIpAddressInteger
    l3AddressDataL3AddressData
    0..1

    Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD.

    Shall be present when the addressType is IP address.

    support: MANDATORY

    Datatype: L2AddressData

    ...

    macAddressAssignment

    ...

    Boolean

    ...

    1

    ...

    Specify if the MAC address assignment is the responsibility of management and orchestration function or not.

    If it is set to True, it is the management and orchestration function responsibility.

    If it is set to False, it will be provided by an external entity, e.g. OSS/BSS. 

    ...

    support: MANDATORY

    Minimum number of IP addresses to be assigned based on this L3AddressData information element.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY


    Datatype: CpProtocolData - Missing from clean output

    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 NameTypeMultiplicityDescriptionApplied Stereotypes

    associatedLayerProtocol

    iPAddressAssignment

    Boolean

    Enum

    Model has this as LayerProtocol enum

    1

    Specify if the address assignment is the responsibility of management and orchestration function or not.

    If it is set to True, it is the management and orchestration function responsibility.

    support: MANDATORY

    floatingIpActivatedBoolean1Specify if the floating IP scheme is activated on the CP or not.

    support: MANDATORY

    iPAddressTypeEnum0..1

    Define address type.

    NOTE: The address type should be aligned with the address type supported by the layerProtocol attribute of the parent Cpd.

    support: MANDATORY

    valueRange: "IPv4", "IPv6"

    numberOfIpAddressInteger0..1Minimum number of IP addresses to be assigned based on this L3AddressData information element.

    support: MANDATORY

    ...

    One of the values of the attribute layerProtocol of the Cpd IE.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    addressDataAddressData

    0..*

    Model has 1

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Datatype: ConnectivityType - Missing from clean output

    The ConnectivityType datatype specifies the protocol exposed by a VL and the flow pattern supported by the VL. The top layer protocol of the VL protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers.

    Applied Stereotypes:

    Preliminary

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    associatedLayerProtocol

    layerProtocol

    Enum

    1

    One of the values of the attribute layerProtocol of the Cpd IE.

    support: MANDATORY

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

    support: MANDATORY

    Datatype: ConnectivityType

    Model has enum LayerProtocol, however it doesn't define the literals:

    "ETHERNET", "MPLS", "ODU2", "IPV4", "IPV6" and "PSEUDOWIRE"

    Note: Just because we may not support all these layer protocols does not mean they shouldn't be defined.


    1..*

    Identifies the protocols

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    layerProtocol

    Enum

    1

    Identifies the protocol

    this VL gives access to (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    flowPatternString0..1Identifies the flow pattern of the connectivity (Line, Tree, Mesh).

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Datatype: VirtualCpuPinningData - Obsolete


    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    virtualCpuPinningPolicy

    Enum

    Model has enum CpuPinningPolicy with values: STATIC, DYNAMIC

    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

    valueRange: "static", "dynamic"

    Incorrect use of valueRange

    virtualCpuPinningRule

    Not specified

    Editor's note: need to be 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: RequestedAdditionalCapabilityData


    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    requestedAdditionalCapabilityName

    String

    1

    Identifies a requested additional capability for the VDU.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    valueRange: For acceleration capabilities, reference to ETSI GS NFV-IFA 002.

    Incorrect use of valueRange. Put in description

    supportMandatory

    Boolean

    1Indicates whether the requested additional capability is mandatory for successful operation.operation.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    minRequestedAdditionalCapabilityVersionString0..1Identifies the minimum version of the requested additional capability.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    preferredRequestedAdditionalCapabilityVersionString0..1Identifies the preferred version of the requested additional capability.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    targetPerformanceParametersKeyValuePair1..N*Identifies specific attributes, dependent on the requested additional capability type.

    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 NameTypeMultiplicityDescriptionApplied Stereotypes

    isAutoscaleEnabled

    Boolean

    0..1

    It permits to enable (TRUE)/disable (FALSE) the auto-scaling functionality.

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    isAutohealEnabledBoolean0..1

    It permits to enable (TRUE)/disable (FALSE) the auto-healing functionality.

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

    support: MANDATORY

    supported.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    additionalConfigurableProperty

    Not specified

    We need to specify and propose to ETSI. Propose to specify as string

    additionalConfigurablePropertyString

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    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 Stereotypes

    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.

    support: MANDATORY

    ...

    " indicates that configuring this present VNF property is not supported.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    Datatype: VnfLifecycleManagementScript

    Note: In the model there are two data types called  VnfLifecycleManagementScript and NsLifecycleManagementScript. 


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

    Applied Stereotypes:

    • Preliminary


    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    event

    Enum

    In the model this is LcmEventType

    0..N*

    Describes VNF lifecycle event(s) or an external stimulus detected on a VNFM reference point.

    NOTE: At least one of these two attributes shall be included.

    OpenModelAttribute

    • isInvariant: false
    • support:  CONDITIONAL_MANDATORY
    • condition: At least one of the 2 attributes event or lcmTransitionEvent shall be included

    valueRange: for lifecycle events, include: "EVENT_START_INSTANTIATION", "EVENT_END_INSTANTIATION", "EVENT_START_SCALING", "EVENT_END_SCALING", "EVENT_START_SCALING_TO_LEVEL", "EVENT_END_SCALING_TO_LEVEL", "EVENT_START_HEALING", "EVENT_END_HEALING", "EVENT_START_TERMINATION", "EVENT_END_TERMINATION", "EVENT_START_VNF_FLAVOR_CHANGE", "EVENT_END_VNF_FLAVOR_CHANGE", "EVENT_START_VNF_OPERATION_CHANGE", "EVENT_END_VNF_OPERATION_CHANGE", "EVENT_START_VNF_EXT_CONN_CHANGE", "EVENT_END_VNF_EXT_CONN_CHANGE", "EVENT_START_VNFINFO_MODIFICATION", "EVENT_END_VNFINFO_MODIFICATION"; for external stimulus, include: receipt of request message of instantiation, scaling, healing, termination, change of VNF flavour, change of the operation state of the VNF, change of external VNF connectivity, modification of VNF information or the receipt of a notification regarding the change of a VNF indicator value.

    Incorrect usage of valueRange. Remove this.

    lcmTransitionEventString0..N*

    Describes the transition VNF lifecycle event(s) that cannot be mapped to any of the enumerated values defined for the event attribute.

    NOTE: At least one of these two attributes shall be included.

    OpenModelAttribute

    • isInvariant: false
    • support:  CONDITIONAL_MANDATORY
    • condition: At least one of the 2 attributes event or lcmTransitionEvent shall be included
    scriptNot specified. We should define this and propose to ETSI. Propose to define as stringscriptString1Information 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
    scriptDslString1Defines the domain specific language (i.e. the type) of script that is provided. Types of scripts could include bash, python, etc.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    scriptInputKeyValuePair0..N*

    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

    Class: VnfIndicator

    ...

    The VnfIndicator class defines the indicator the VNF supports.


    Applied Stereotypes:

    • OpenModelClass

    -             support:  MANDATORY

    • Preliminary


    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
    idIdentifier1Unique identifier.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    Attribute
    nameString0..1The human readable name of the VnfIndicator.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    indicatorValueString1..NDefines the allowed values or value ranges of this indicator.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    source

    Enum

    Model has VnfIndicatorSource with values: VNF, EM, BOTH

    1Describe the source of the indicator. This tells the consumer where to send the subscription request..

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    valueRange: "VNF", "EM", "Both"

    Incorrect usage of valueRange

    Attribute

    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 NameTypeMultiplicityDescriptionApplied Stereotypes
    idIdentifier1Unique identifier of the monitoring parameter.

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    nameString0..1Human readable name of the monitoring parameter.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    performanceMetricString1Identifies the
    virtualised
    virtualized resource performance metric
    .
    .

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    collectionPeriod

    Not specified

    Editor's note: need to be specified and proposed to ETSI, Currently defined as 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

    Class

    ...

    : VnfdElementGroup  NOTE: This is "obsolete" in V2.5.1 

    A VNFD Element Group is a mechanism for associating elements of a VNFD (Vdus and VnfVirtualLinkDesc(s)) for a certain purpose, for example, scaling aspects.

    A given element can belong to multiple groups.

    Applied Stereotypes:

    • OpenModelClass

              support:  MANDATORY

    • Preliminary 
    Attribute NameTypeMultiplicityDescriptionApplied StereotypesAttribute Type
    vnfdElementGroupIdIdentifier1Unique identifier of this group in the VNFD
    .
    .

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY
    Attribute
    descriptionString1Human readable description of the group.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Attribute
    vdu

    Identifier (Reference to Vdu)

    Model has type Vdu as this is an association end

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association
    virtualLinkDesc

    Identifier (Reference to VnfVirtualLinkDesc) 

    Model has type VnfVirtualLinkDesc as this is an association end

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    Association

    Class: PlacementGroup (Experimental) As this inherits from VnfdElementGroup and that is obsolete, is this obsolete?

    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

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    valueRange: "co-location", "isolation", "exclusively"

    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)..

    Incorrect use of valueRange

    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

    valueRange: "host", "rack"

    Incorrect usage of valueRange

    Attribute

    Class: BaseConfigGroup (Experimental)

    Class: DeploymentGroup (Experimental)

    Datatype: VnfInfoModifiableAttributes

    This datatype defines the VNF-specific extension and metadata attributes of the VnfInfo that are writeable via the ModifyVnfInfo operation.

    Applied Stereotypes:

    • Preliminary
    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    extension

    Not specified

    Editor's note: need to be specified and proposed to ETSI

    0..N*"Extension" attributes of VnfInfo that are writeable.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    metadata

    Not specified

    Editor's note: need to be specified and proposed to ETSI

    0..N*"Metadata" attributes of VnfInfo that are writeable.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY