Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 19

This page shows the current agreement on the design time information model of resources for ONAP R3.

NOTE: Differences with ETSI IFA011 v2.4.3 1 are marked in orange.

Change History

DateChange Description
2018.5.2Copy from R2 clean version
2018.5.2Recategorize some of the "class" into "datatype"
2018.6.4
  • Verified against IFA011 v2.4.3
  • Added "Attribute Type " column to indicate whether the class attribute is an "attribute" or member end of an "association"
  • Changed attribute Applied Stereotypes to OpenModelAttribute
  • Added class definitions and applied stereotypes

...


Table of Contents
printablefalse

Class: Vnfd

...

Applied Stereotypes:

  • OpenModelClass

          support:  MANDATORY

  • Preliminary
vnfdId
Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
Attribute Type
  • isInvariant: true
  • 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

    support:
     
    MANDATORY
    attribute
  • isInvariant: false
  • vnfProviderString1Provider of the VNF and of the VNFD.

    OpenModelAttribute

    support:
     
    MANDATORY
    attribute
    vnfProductNameString1Name to identify the VNF Product. Invariant for the VNF Product lifetime.

    OpenModelAttribute

    isInvariant: true
    support:
     
    MANDATORY
    attribute
    vnfSoftwareVersionString1Software 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
    vnfdVersionString1Identifies the version of the VNFD.

    OpenModelAttribute

    isInvariant: false
    support:
     
    MANDATORY
    attribute
    vnfProductInfoNameString0..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
    attribute
    vnfmInfoString0..NIdentifies 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

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

    OpenModelAttribute

  • isInvariant: false

  • support:

     

    MANDATORY

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

    attribute

    defaultLocalizationLanguageString0..1

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

    OpenModelAttribute

  • isInvariant: false
  • support:

      CONDITIONAL-

    MANDATORY

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

    condition: Shall be present if "localizationLanguage" is present and shall be absent otherwise.

    attribute

    vduVdu1..NVirtualisation Deployment Unit.

    OpenModelAttribute

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

    OpenModelAttribute

  • isInvariant: false
  • support:
     
    MANDATORY
    association
    virtualStorageDescVirtualStorageDesc0..NDefines descriptors of virtual storage resources
    to be used by the VNF.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    association

    IN IFA 011 but not in clean

    swImageDesc

    SwImageDesc0..NDefines descriptors of software images
    to be used by the VNF.

    OpenModelAttribute

  • isInvariant: false
  • support:
     
    MANDATORY
    association
    intVirtualLinkDescVnfVirtualLinkDesc0..NRepresents 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 a floating IP among VNFCs.

    OpenModelAttribute

  • isInvariant: false
  • support:
     
    MANDATORY
    association
    vnfExtCpdVnfExtCpd1..NDescribes external interface(s) exposed by this VNF enabling connection with a VL.

    OpenModelAttribute

    isInvariant: false
    support:
     
    MANDATORY
    associationassociation
    deploymentFlavourVnfDf1..NDescribes specific DF(s) of a VNF with specific requirements for capacity and performance.

    OpenModelAttribute

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

    Describes the modifiable attributes of the VNF.

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

    OpenModelAttribute

    isInvariant: false

    support:
     
    MANDATORY
    attribute
    lifeCycleManagementScriptLifeCycleManagementScript0..NIncludes a list of events and corresponding management scripts performed for the VNF.

    OpenModelAttribute

  • isInvariant: false
  • support:
     
    MANDATORY
    attribute
    elementGroupVnfdElementGroup0..NDescribes the associated elements of a VNFD for a certain purpose during VNF lifecycle management.

    OpenModelAttribute

  • isInvariant: false
  • support:
     
    MANDATORY
    association
    vnfIndicatorVnfIndicator0..NDeclares 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
    support:
    false
    MANDATORY
    support





    Class:

    ...

    Vdu

    ...

    attribute

    ...

    IN IFA 011 but not in clean

    autoScale

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    Class: Vdu

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

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

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary

    ...

    Unique identifier of this Vdu in VNFD.

    ...

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    Identifier (reference to VirtualComputeDesc)

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    ...

    Identifier (reference to VirtualStorageDesc)

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    ...

    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.

    ...

    SwImageDesc (in model)

    IFA 011 has Identifier

    ...

    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

    ...

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    Class: SwImageDesc

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

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary

    ...

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    swImage

    ...

    Identifier (Reference to a SwImage)

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    PassedByReference

    ...

    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.

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    attribute

    Class: VirtualComputeDesc

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

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary 

    ...

    OpenModelAttribute

    • isInvariant: true
    • support: MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    VirtualMemoryData

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    VirtualCpuData

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    Datatype: VirtualCpuData

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

    Applied Stereotypes:

    • Preliminary

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    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.

    Applied Stereotypes:

    • Preliminary

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    It specifies the memory allocation to be cognisant 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 supports the specifications of requirements related to virtual storage resources.

    Applied Stereotypes:

    • OpenModelClass

               support:  MANDATORY

    • Preliminary 

    ...

    id

    ...

    Identifier

    ...

    1

    ...

    Unique identifier of this VirtualStorageDesc in the VNFD.

    ...

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY

    ...

    typeOfStorage

    ...

    String

    ...

    1

    ...

    Type of virtualised storage resource
    (e.g. volume, object).

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    sizeOfStorage

    ...

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

    ...

    1

    ...

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    vduStorageRequirements

    ...

    KeyValuePair

    ...

    0..N

    ...

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    rdmaEnabled

    ...

    Boolean

    ...

    0..1

    ...

    Indicate if the storage support RDMA.

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    swImageDesc

    ...

    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

    ...

    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:

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    vduIdIdentifier1

    Unique identifier of this Vdu in VNFD.

    support: MANDATORY
    nameString1Human readable name of the Vdu.support: MANDATORY
    descriptionString1Human readable description of the Vdu.support: MANDATORY
    intCpdVduCpd1..NDescribes network connectivity between a VNFC instance (based on this Vdu) and an Virtual Link (VL).support: MANDATORY
    virtualComputeDescIdentifier (reference to VirtualComputeDesc)1Describes CPU, Memory and acceleration requirements of the Virtualisation Container realising this Vdu.support: MANDATORY
    virtualStorageDescIdentifier (reference to VirtualStorageDesc)0..NDescribes storage requirements for a VirtualStorage instance attached to the virtualisation container created from virtualComputeDesc defined for this Vdu.support: MANDATORY
    bootOrderKeyValuePair0..N

    Boot order of valid boot devices.

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

    support: MANDATORY

    valueRange: "key/name" indicates the the boot index (lowest index defines highest boot priority). "value" references a descriptor from which a valid boot device is created e.g. VirtualStorageDesc from which a VirtualStorage instance is created.

    swImageDescSwImageDesc

    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.

    support: MANDATORY
    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.

    support: MANDATORY

    valueRange: "key/name" includes "AvailabilityZone", "HostAggregates".

    monitoringParameterMonitoringParameter0..NDefines the virtualised resources monitoring parameters on VDU level.support: MANDATORY
    configurablePropertiesVnfcConfigurableProperties1Describes the configurable properties of all VNFC instances based on this VDU.support: MANDATORY
    injectFilesString0..NDescribes the information (e.g. URL) about the scripts, config drive metadata, etc. which can be used during Vdu booting process.support: MANDATORY





    Class: SwImageDesc

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    idIdentifier1The identifier of this software image.support: MANDATORY
    nameString1The name of this software image.support: MANDATORY
    versionString1The version of this software image.support: MANDATORY
    checksumString1The checksum of the software image file.support: MANDATORY
    containerFormatString1The container format describes the container file format in which software image is provided.support: MANDATORY
    diskFormatString1The disk format of a software image is the format of the underlying disk image.support: MANDATORY
    minDiskNumber (recommended DM type: Scalar-Unit-Size)1The 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.support: MANDATORY
    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.support: MANDATORY
    sizeNumber (recommended DM type: Scalar-Unit-Size)1The size of this software image.support: MANDATORY

    swImage

    Identifier (Reference to a SwImage)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.support: MANDATORY
    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.

    support: MANDATORY
    supportedVirtualisationEnvironmentString0..NIdentifies the virtualisation environments (e.g. hypervisor) compatible with this software image.support: MANDATORY

    Class: VirtualComputeDesc

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    virtualComputeDescIdIdentifier1Unique identifier of this VirtualComputeDesc in the VNFD.support: MANDATORY
    logicalNodeLogicalNodeData1..NThe logical Node requirements.support: MANDATORY
    requestAdditionalCapabilitiesRequestedAdditionalCapabilityData0..NSpecifies requirements for additional capabilities. These may be for a range of purposes. One example is acceleration related capabilities.support: MANDATORY
    computeRequirementsKeyValuePair0..NSpecifies compute requirements.support: MANDATORY
    virtualMemory

    VirtualMemoryData

    1The virtual memory of the virtualised compute.support: MANDATORY
    virtualCpu

    VirtualCpuData

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

    Datatype: VirtualCpuData

    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.
    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    logicalNodeRequirementscpuArchitectureKeyValuePairString0..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 1
    CPU architecture type. Examples are x86, ARM. The cardinality can be 0 during the allocation request, if no particular CPU architecture type is requested.support: MANDATORY
    numVirtualCpuInteger1Number of virtual CPUs.support: MANDATORY
    virtualCpuClockNumber(recommended DM type: Scalar-Unit-Freq)0..1Minimum virtual CPU clock rate (e.g.

    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

    ...

    cpdId

    ...

    Identifier

    ...

    1

    ...

    Identifier of this Cpd information element.

    ...

    OpenModelAttribute

    • isInvariant: true
    • support:  MANDATORY

    ...

    In IFA 011 and model but not in clean:

    layerProtocol

    ...

    Enum

    Model has type LayerProtocol

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    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

    ...

    description

    ...

    String

    ...

    0..1

    ...

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    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.

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    trunkMode

    ...

    Boolean

    ...

    1

    ...

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

    ...

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    allowedAddressData

    ...

    AddressData

    ...

    0..N

    ...

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY

    ...

    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 
    in MHz). The cardinality can be 0 during the allocation request, if no particular value is requested.support: MANDATORY
    virtualCpuOversubscriptionPolicyString0..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.support: MANDATORY
    vduCpuRequirementsKeyValuePair0..NArray of key-value pair requirements on the Compute (CPU) for the VDU.support: MANDATORY
    virtualCpuPinningVirtualCpuPinningData0..1The virtual CPU pinning configuration for the virtualised compute resource.

    support: MANDATORY

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

    Datatype: VirtualMemoryData

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    virtualMemSizeNumber (recommended DM type: Scalar-Unit-Size)1Amount of virtual Memory (e.g. in MB).support: MANDATORY
    virtualMemOversubscriptionPolicyString0..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.support: MANDATORY
    vduMemRequirementsKeyValuePair0..NArray of key-value pair requirements on the memory for the VDU.support: MANDATORY
    numaEnabledBoolean
    0..1

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

    support: MANDATORY

    Class: VirtualStorageDesc

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    id

    Identifier

    1

    Unique identifier of this VirtualStorageDesc in the VNFD.

    support: MANDATORY

    typeOfStorage

    String

    1

    Type of virtualised storage resource
    (e.g. volume, object).

    support: MANDATORY

    sizeOfStorage

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

    1

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

    support: MANDATORY

    vduStorageRequirements

    KeyValuePair

    0..N

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

    support: MANDATORY

    rdmaEnabled

    Boolean

    0..1

    Indicate if the storage support RDMA.

    support: MANDATORY

    swImageDesc

    Identifier (Reference to SwImageDesc)

    0..1

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

    support: MANDATORY

    Datatype: LogicalNodeData

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes
    Attribute Type

    bitrateRequirement

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

    logicalNodeRequirements

    KeyValuePair

    0..

    1

    Bitrate requirement on this CP.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    vnicName

    String

    0..1

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

    OpenModelAttribute

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

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attribute

    vnicType

    Enum

    0..1

    Describes the type of the vNIC this CP attaches to.

    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

    attributevirtualNetworkInterfaceRequirementsVirtualNetworkInterfaceRequirements0..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..1Reference of the internal VLD which this internal CPD connects to.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    PassedByReferenceassociation

    IFA 011 and model both contain

    order

    Integer0..1

    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.

    OpenModelAttribute

    • isInvariant: false
    • support:  MANDATORY
    attributeNote 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
    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.
    PassedByReferenceassociation

    Both IFA 011 and model have

    intVirtualLinkDesc

    Identifier (IFA 011)

    Model has type VnfVirtualLinkDesc

    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.

    support: MANDATORY

    Class: Cpd

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    cpdId

    Identifier

    1

    Identifier of this Cpd information element.

    support: MANDATORY

    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.

    support: MANDATORY

    description

    String

    0..1

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

    support: MANDATORY

    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.

    Editor's note: the attribute "layerProtocol" still needs further discussion and not included in this table.

    support: MANDATORY

    trunkMode

    Boolean

    1

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

    support: MANDATORY

    allowedAddressData

    AddressData

    0..N

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

    support: MANDATORY

    Class: VduCpd

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    bitrateRequirement

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

    0..1

    Bitrate requirement on this CP.

    support: MANDATORY

    vnicName

    String

    0..1

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

    support: MANDATORY

    vnicOrder

    Integer

    0..1

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

    support: MANDATORY

    vnicType

    Enum

    0..1

    Describes the type of the vNIC this CP attaches to.

    support: MANDATORY

    valueRange: normal, macvtap, direct, baremetal, direct-physical and virtio-forwarder

    virtualNetworkInterfaceRequirementsVirtualNetworkInterfaceRequirements0..NSpecifies requirements on a virtual network interface realising the CPs instantiated from this CPD.support: MANDATORY
    (inherited attributes)

    All attributes inherited from Cpd.

    Class: VnfExtCpd

    Virtual Link Descriptor (VLD) to which CPs instantiated from this external CP Descriptor (CPD) connect.
    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    intCpd

    Identifier (Reference to VduCpd)

    0..1

    Reference to the internal

    OpenModelAttribute

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

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

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

    associationNote: info model defines cpProtocol at this sub-class level and not in cpd.

    (inherited attributes)

    All attributes inherited from Cpd.

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    flavorId

    Identifier

    1

    Identifier of this DF within the VNFD.

    support: MANDATORY
    descriptionString1Human readable description of the DF.support: MANDATORY
    vduProfileVduProfile1..NDescribes additional instantiation data for the VDUs used in this flavor.support: MANDATORY
    virtualLinkProfileVirtualLinkProfile0..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: MANDATORY
    instantiationLevelInstantiationLevel1..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: MANDATORY
    affinityOrAntiAffinityGroupAffinityOrAntiAffinityGroup0..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: EXPERIMENTAL
    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.
    support: EXPERIMENTAL
    deploymentGroupDeploymentGroup1..NDeploymentGroup provides the minimum viable VDU and associated VNFC configuration for a useable VNF.support: EXPERIMENTAL

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    vduId

    Identifier (Reference to Vdu)

    1

    Uniquely identifies a VDU.

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

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    latency

    Number

    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

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    type

    Enum

    1

    Specifies 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"

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    groupId

    Identifier

    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"

    ...

    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.

    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

    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.

    support: MANDATORY

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    iPAddressAssignment

    Boolean

    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

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    associatedLayerProtocol

    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

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    layerProtocol

    Enum

    1

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

    support: MANDATORY

    flowPatternString0..1Identifies the flow pattern of the connectivity (Line, Tree, Mesh).

    support: MANDATORY

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    virtualCpuPinningPolicy

    Enum

    0..1

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

    support: MANDATORY

    valueRange: "static", "dynamic"

    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.

    support: MANDATORY

    ...

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    requestedAdditionalCapabilityName

    String

    1

    Identifies a requested additional capability for the VDU.

    support: MANDATORY

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

    supportMandatory

    Boolean

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

    support: MANDATORY

    minRequestedAdditionalCapabilityVersionString0..1Identifies the minimum version of the requested additional capability.

    support: MANDATORY

    preferredRequestedAdditionalCapabilityVersionString0..1Identifies the preferred version of the requested additional capability.support: MANDATORY
    targetPerformanceParametersKeyValuePair1..NIdentifies specific attributes, dependent on the requested additional capability type.support: MANDATORY

    ...

    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.

    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

    additionalConfigurablePropertyString0..NIt provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation.

    support: MANDATORY

    ...

    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

    Datatype: LifecycleManagementScript

    Attribute NameTypeMultiplicityDescriptionApplied Stereotypes

    event

    Enum

    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.

    support: MANDATORY

    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.

    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.

    support: MANDATORY

    scriptString1Information to locate a VNF LCM script (e.g. written in a DSL as specified in requirement VNF_PACK.LCM.001) triggered to react to one of the events listed in the event attribute.support: MANDATORY
    scriptDslString1Defines the domain specific language (i.e. the type) of script that is provided. Types of scripts could include bash, python, etc.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.

    support: MANDATORY

    ...