Versions Compared

Key

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

Table of Contents
printablefalse

...


These diagrams come from papyrus based on R3 vnf model clean, blue ones are new requirements added.

ONAP Vnfd - Topology View

Image Removed

Vnf Deployment Flavor

Image Removed

VNF Instance

Image Removed 

Class:  Vnf        

  

        

Class:  Vdu


COLOR EXPLANATION: Black means already have in R3, all the attributes with colors are new requirements to propose. Blue means haved discussed, pink means haven't yet. Currently, all the attributes have been introduced, so pink is no longer have, all the pink attributes turn into blue ones. Red means already have in ONAP, but to align with new IFA 011 v2.5.1, I suggest to remove them from the current position to the new places I list here. Orange means the suggested modifications for the discussed attributes. 

If the proposed attributes are aligned with IFA specs, you will find a sentence below the attribute name, if not, they are the extended requirements.

ONAP Vnfd View

Image Added

ONAP Vnfd - Topology View

Image Added

Vnf Deployment Flavor

Image Added

VNF Instance

Image Added 

Class:  Vnf

Attribute   Name

Type

Mult.

Stereotypes

Description

 Rationale

vnfInstanceId

Identifier

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

identifier of the VNF instance

 

 

 

vnfInstanceName

String

1..*

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

name of the VNF instance.  Multiple names are possible.

 

 

 

vnfProductName

String

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

name to identify the VNF Product,   invariant for the VNF Product lifetime

 

 

 

description

invalid

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

description of the VNF instance

 

 

 

vnfProvider

invalid

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

provider of the VNF model

 

 

 

vnfdId

Identifier

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

identifier of the VNF model

 

 

 

vnfdVersion

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

version of the VNF model

 

 

 

vnfSoftwareVersion

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Software version of the VNF. This is   changed when there is any change to the software that is included in the VNF   package

 

 

 

onboardedVnfPkgInfoId

Identifier

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

identifier of the specific VNF package on   which the VNF instance is based

 

 

 

availabilityZone

invalid

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

availability zone information of the VNF   instance

 

 

 

operationalStatus

OperationalStatus

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

indicator for whether the resource is   considered operational. Valid values are in-service-path and   out-of-service-path.

 

 

 

orchestrationStatus

OrchestrationStatus

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

whether the VNF instance is instantiated

 

 

 

oamlpv4Address

invalid

IpAddress

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

oam ip address, ipv4

 

 

 

oamlpv6Address

invalid


IpAddress


0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

oam ip address, ipv6

 

 

 

instantiatedVnfInfo

invalid

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

information specific to an instantiated   VNF instance, e.g., vm information

 

 

 

inMaint

Boolean

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

whether the VNF instance is in maintenance   mode, if yes, DCAE will not observe alarms/traps, etc.

 

 

 

isClosedLoopDisabled

Boolean

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

whether closed loop function is enabled

 

 

 

encryptedAccessFlag

Boolean

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

whether this VNF is accessed using SSH

 

 

 

vnfConfigurableProperty

invalid

0..1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

indicator for whether autoHeal and   autoScale is enabled

 

 

 

nfNamingCode

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

String assigned to this model used for   naming purpose.

 

 

 

vnfNamingPolicyId

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Identifier of the policy which has the   naming logic for this VNF instance

 

 

 

vnfHomingPolicyId

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Identifier of the policy which provides   homing conditions.

 

 

 

nfType

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Generic description of the type of network   function

 

 

 

nfFunction

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

English description of network function that   the specific VNF deployment is providing.

 

 

 

nfRole

String

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Role in the network this model will be   providing

 

 

 

closedLoopStatus

ClosedLoopStatus

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Whether closed loop capabilities are   enabled for this or not.

 

 

 

_nfc   (vnfcinstance)

Vnfc

1..*

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Relatonship to the NF components that are   part of this VNF.

 

 

 

_vnfd

Vnfd

1

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Relationship to the VNF descriptor

 

 

 

_vnfvirtuallink

VnfVirtualLink

0..*

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Relationship to VnfVirtualLink

 

 

 

        

Class:  Vdu

Attribute   Name

Type

Mult.

Stereotypes

Description

 Rationale

vduId

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Unique identifier of this Vdu in VNFD.

 

 

 

name

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Human readable name of the Vdu.

 

 

 

description

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Human readable description of the Vdu.

 

 

 

bootOrder

KeyValuePair

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

 

nfviConstraint

KeyValuePair

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

 

monitoringParameter

MonitoringParameter

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Defines the virtualised resources   monitoring parameters on VDU level.

 

 

 

injectFiles

String

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

configurableProperties

VnfcConfigurableProperties

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describes the configurable properties of   all VNFC instances based on this VDU.

 

 

 

_vduCpd

VduCpd

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

_virtualComputeDesc

VirtualComputeDesc

1..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

_virtualStorageDesc

VirtualStorageDesc

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

_swImageDesc

SwImageDesc

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

 

_dependsOn

Vdu

0..*

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Specify instantiation priority and dependencies of VDU.

 

 

Each template will write the other VDUs that needed deployed before instantiating this VDU. When VDU A points to VDU B and C, it means need B and C instantiated first. If B needs D and E, then will deploy D and E in advance, utill finding no dependcy, namely the atomic ones. 0 means no dependency.

Class:  VduCpd

Attribute   Name

Type

Mult.

Stereotypes

Description

Rationale 

bitrateRequirement

Number

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Bitrate requirement on this CP.

 

 

 

vnicName

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

vnicOrder

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

vnicType

VnicType

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describes the type of the vNIC this CP   attaches to.

 

 

 

_virtualNetworkInterfaceRequirements

VirtualNetworkInterfaceRequirements

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

securityGroups

String

0..*

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

VNFD needs to specify the security group name {security_groups} for each vNic.


 

 

See description.

portSecurityEnabled

Boolean

0..1

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

VNFD needs to specify whether to enable security group for the vNic.


 

 

 See description.

_qos

QoS

0..1

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describe the Qos requirements of the VduCpd.

 

 

 See description.

Qos should be put in the Class level, and thus there should be an association.

Note: In this proposal, I first supplement requirments for "Qos", you can find 3 new attributes in "Qos" class; then need the Qos requirements for VduCpd, namely this association. 

cpdId

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Identifier of this Cpd information   element.

 

 

 

cpRole

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

 

description

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

cpProtocol

CpProtocolData

1..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

 

trunkMode

Boolean

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

allowedAddressData

AddressData

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

Class: VduProfile

Attribute   Name

Type

Mult.

Stereotypes

Description

 Rationale

vdudId

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Uniquely identifies a VDU.

 

 

 

minNumberOfInstances

Integer

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

maxNumberOfInstances

Integer

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

localAffinityOrAntiAffinityRule

LocalAffinityOrAntiAffinityRule

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

affinityOrAntiAffinityGroupId

Identifier

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • 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.

 

 

 

watchdog

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 

vmBootUpTimeOut

Integer

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Timeout value for the VNFM to wait before   the successful booting up of the VDU.

 

 

 

securityGroups

String

0..*

Attribute   Name

Type

Mult.

Stereotypes

Description

vduId

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Unique identifier of this Vdu in VNFDVNFD needs to specify the security group name {security_groups} for each VDU.

 

 

name

String

1

 See description.

flavorExtraSpecs

KeyValuePair

0..*Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Human readable name of the VduAdditional expansion requirements for  Infrastructure layer, e.g. HA property (Host Aggregate label).

 

 

This attribute is the extension for Openstack flavor, currently including:

  •  HA property (Host Aggregate label).
  • CPU allocation strategy: whether two vCPUs need binding core together or not.
  • Multi-queue vNic: whether to use multi-queue network card mode or not.
  • Real-time performance of network elements: whether to open this function or not.

Class: VirtualStorageDesc

0..*

Attribute   Name

Type

Mult.

Stereotypes

Description

 Rationale

id

Identifier

1

description

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Human readable description of the Vdu.

 

 

bootOrder

KeyValuePair

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Unique identifier of this   VirtualStorageDesc in the VNFD.

 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.

 

 

nfviConstrainttypeOfStorage

KeyValuePair

String

10..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
  • support:    MANDATORY

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

 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.

 

 

monitoringParametersizeOfStorage

MonitoringParameter

Number

10..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Defines the virtualised resources   monitoring parameters on VDU level.

 

 

  • support:    MANDATORY

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

 

 

 

vduStorageRequirements

KeyValuePair

injectFiles

String

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

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

 

 

rdmaEnabled

Boolean

0..

configurableProperties

VnfcConfigurableProperties

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Obsolete

Indicate if the storage support RDMA.

 Describes the configurable properties of   all VNFC instances based on this VDU.

 

 

_vduCpdswImageDesc

VduCpdIdentifier

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

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

 

 

_virtualComputeDescmultiAttach

VirtualComputeDescBoolean

10..*Preliminary1

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describes CPU, Memory and acceleration requirements   of the Virtualisation Container realising this VduIndicating whether a vDisk is a shared volume in VNFD.

 

 

Each vDisk corresponds to one volume, it should set if the volume can be shared by other VMs.

_storageQos

StorageQos

_virtualStorageDesc

VirtualStorageDesc

0..*Preliminary1

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describes storage requirements for a VirtualStorage   instance attached to the virtualisation container created from   virtualComputeDesc defined for this VduDescribe storage Qos requirements.

 

 

_swImageDesc

Describe special Qos requirements for storage, see datatype"StorageQos" for details.


volumeType

_volumeType


VolumeTypeSwImageDesc

0..1Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

_dependOn

Vdu

Describe the volume type a storage is based on. 

 

 

 In Openstack, a backend can have multiple volume types to choose, when instantiate a vStorage, must specify one volume type.

Datatype:  L2ProtocolData

Attribute   Name

Type

Mult.

Access

Stereotypes

Description

 Rationale

name

(Aligned with IFA 011v2.5.1)

String

0..1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
Specify instantiation priority and dependencies of VDU

 Network name associated with this L2 protocol.

 

 

...

 

...

Attribute   Name

Type

Mult.

Stereotypes

Description

 networkType

(Aligned with IFA 011v2.5.1)

 NetworkType  0

bitrateRequirement

Number

0
..1
Preliminary
 RW
OpenModelAttribute

Preliminary

OpenModelAttribute
  OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Bitrate requirement on this CP.

 

 

vnicName

String

0..1

Specifies the network type for this L2 protocol. Possible values: FLAT, VLAN, VXLAN, GRE.

vlanTransparent

(Aligned with IFA 011v2.5.1)

 Boolean 0..1  RW   OpenModelAttribute

vnicOrder

String

0..1

Preliminary

OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

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

RW

 
 OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
 Network segment ID. The id of vlan/vxlan.
 physicalNetwork  String 0..1 RW   OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

The connected physical network of network type (VLAN or VxLAN) .When vlan or vxlan is going to connecting a physical network, it should specify the name of host port. 
routerExternal Boolean  0

vnicType

VnicType

0
..1
Preliminary
 RW
OpenModelAttribute
   OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describes the type of the vNIC this CP   attaches to.

 

 

_virtualNetworkInterfaceRequirements

VirtualNetworkInterfaceRequirements

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

 Specify if a vrouter comes from an external network.There are two usage situations of vrouters, one is using in the virtual network internally, another is using to connet to the external network. This attribute shows the two situations, if "true", then the vrouter is using to connect another network; if "false", then using internally.

Datatype:  L3ProtocolData

sriovAntiAffinityGroup

Identifier

0..1

Attribute   Name

Type

Mult.

Access

Stereotypes

Description

 Rationale

cidr

(Aligned with IFA 011v2.5.1)

 String

1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:   
OPTIONAL

securityGroups

String

0..*

OpenModelAttribute
  • MANDATORY

Define the port anti-affinity group ID for each SR-IOV type vNIC. Multiple vNICs in the same anti-affinity group must   belong to the same virtual network, and the number of vNICs in the same   anti-affinity group cannot exceed two.

 comment: creat cpd profile, define the number of instances.

 

 Specifies the CIDR (Classless Inter- Domain Routing) of this L3 protocol.

See note.

 

 

 ipAllocationPools  

(Aligned with IFA 011v2.5.1)

 KeyValuePair0..N RW OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
Specifies the allocation pools with start and end IP addresses for this L3 protocol. See note . 

 gatewayIp

(Aligned with IFA 011v2.5.1)


  IpAddress

 0..1 RW OpenModelAttribute
OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

VNFD needs to specify the security group name {security_groups} for each vNic.

comment: check with IFA.

 

 

portSecurityEnabled

Boolean

0..1

Specifies the gateway IP address for this L3 protocol. See note. 

ipVersion

(Aligned with IFA 011v2.5.1)



 IpVersion 1 RW OpenModelAttribute

cpdId

Identifier

1

Preliminary

OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

VNFD needs to specify whether to enable security group for the vNic.

Coment: to put as the same level as the securityGroups, as the cpd level as in IFA.

 

 

Specifies IP version of this L3 protocol.
Value:
• IPV4.
• IPV6.

 

 dhcpEnabled 

(Aligned with IFA 011v2.5.1)

 

  Boolean 0..1  RW OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Identifier of this Cpd information   element.

 

 

cpRole

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

description

String

0..1

Preliminary
Indicates whether DHCP (Dynamic Host
Configuration Protocol) is enabled or
disabled for this L3 protocol. See note.

ipv6AddressMode

(Aligned with IFA 011v2.5.1)


Ipv6AddressMode0..1  RW OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Specifies IPv6 address mode. Possible values:

• SLAAC.

• DHCPV6-STATEFUL.

• DHCPV6-STATELESS.

May be present when the value of the ipVersion attribute is "IPV6" and shall be absent otherwise. See Note.



 ipv6RaModeIpv6AddressMode0..1 RW 

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

cpProtocol

CpProtocolData

1..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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.

 

 

trunkMode

Boolean

1

Preliminary

OpenModelAttribute

Specifies IPv6 address mode for vrouter. Possible values:

• SLAAC.

• DHCPV6-STATEFUL.

• DHCPV6-STATELESS.

May be present when the value of the ipVersion attribute is "IPV6" and shall be absent otherwise. Must be present when the VLAN/VXLAN connects to one or more vrouters. 

Note2: The value of  ipv6RaMode and ipv6AddressMode must be same.

This attribute comes from Openstack demand, the address mode should be separately set for vRouter and dhcp. The usage for the  ipv6RaMode and ipv6AddressMode has the following situation:

  • Both attributes don't specify address modes.
  •  Ipv6RaMode doesn't specify an address mode, while ipv6AddressMode has one of the modes for dhcp
  • Both attributes have to set address mode, then they must be the same value.
  hostRoutes  KeyValuePair 0..N RW OpenModelAttribute

allowedAddressData

AddressData

0..*

Preliminary

OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

Static routing list, including estination and nexthop information. See description. Estination and nexthop will be provided by network elements.
dnsNameServers String 0..N  RW OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

...

DNS server list.See description.
Note: If this attribute is included in the VNFD, the attribute value shall be provided at run-time, unless a default value is provided at design time in the VNFD. If a default value is provided at design-time, this value may be overridden at run-time.      

Class Qos (Suggest to change to class instead of data type)

Attribute   Name

Type

Mult.

Access

Stereotypes

Description

 Rationale

latency

Number

vdudId

Identifier

1

PreliminaryRW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Preliminary

 Maximum latency in msUniquely identifies a VDU.

 

 

 

packetDelayVariationminNumberOfInstances

IntegerNumber

1

PreliminaryRW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Preliminary

 Maximum jitter in ms.

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

 

 

maxNumberOfInstancespacketLossRatio

IntegerNumber

0..1

PreliminaryRW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY:    MANDATORY

Preliminary

 Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio   requirement exists.

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

 

 

localAffinityOrAntiAffinityRuleqosId

LocalAffinityOrAntiAffinityRule

0..*

Identifier

1

RWPreliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

affinityOrAntiAffinityGroupId

Identifier

0..*

 Qos ID.

 

 

Give Qos an id for muliple classes to quote. This means Qos will be a class.

qosName

String

1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

 Human readable Qos name.

 

 

 Human readable name, corresponding to qosId.

rules

KeyValuePair

0..*

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

 Detailed requirements of Qos, including maximum bandwidth   limitation{max_kbps}、maximum burst bandwidth  limitation{max_burst_kbps} 、direction{egress|ingress},etc.

 

 

 See description.

Note: the whole Qos attributes are needed for both VL and VduCpd.

Class:  StorageQos

Attribute   Name

Type

Mult.

Access

Stereotypes

Description

 Rationale

qosId

Identifier

1

RW

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.

 

 

watchdog

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

 Unique identifier of the storage Qos in VNFD.

 

 

 See description.

qosName

String

1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

 Name of storage QoS.

 

 

 Human readable name, corresponding to the Id.

consumer

ConsumerScope

1

RW

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

 

 

vmBootUpTimeOut

Integer

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

 Consumer type.

  • BACK_END
  • LOCAL

 

Identify the volume which a Storge is based on comes from the backend or local.

qosSpecs

KeyValuePair

Timeout value for the VNFM to wait before   the successful booting up of the VDU.

 

 

securityGroups

String

0..*

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

VNFD needs to specify the security group name {security_groups} for each VDU.

 

 

 Describe qualities of Qos:total read/write rate{total_bytes_sec}、total read/write IOPS{total_iops_sec}.



 

 

 This is used for the information of basic stroge Qos requirements.

Class: 

...

VolumeType

Attribute   Name

Type

Mult..

Access

Stereotypes

Description

 Rationale

volumeTypeIdid

Identifier

1

PreliminaryRW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Unique  Unique identifier of this   VirtualStorageDesc volume type in the VNFD.

 

 

See description.

volumeTypeNametypeOfStorage

String

1

PreliminaryRW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

sizeOfStorage

Human readable name, corresponding to the Id.

backendName

StringNumber

1

PreliminaryRW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
Size of virtualised storage resource  (e.g. size of volume, in GB)

Name of the object linking to the backend distributed storage.(Name in cinder) 

 

 

 Each volume type has a corresponding backend, the name is also the name in Openstack Cinder configuration.
 

Class: VnfDf

vduStorageRequirementsAttribute   Name

KeyValuePairType

Mult.

Stereotypes

Description

flavorId

Identifier

1

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

Preliminary

Identifier of this DF within the VNFD.



description

String

rdmaEnabled

Boolean

0..1

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Obsolete

Indicate if the storage support RDMA.

 

 

swImageDesc

Preliminary

Human readable description of the DF.



_virtuaLlinkProfile

VirtualLinkProfileIdentifier

0..1*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

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

 

 

Preliminary

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.



_instantiationLevel

InstantiationLevel

1..*

multiAttach

Boolean

0..1

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Indicating whether a vDisk is a shared volume in VNFD.

 

 

_storageQos

Preliminary

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.



_affinityOrAntiAffinityGroup

AffinityOrAntiAffinityGroupStorageQos

0..1*

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describe storage Qos.

 

 

_volumeType

VolumeType

0..1

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Describe volume type.

 

 

Datatype:  Qos

OpenModelAttribute

 Qos ID.

 

Preliminary

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.



_scalingAspect

ScalingAspect

0..*

Attribute   Name

Type

Mult.

Access

Stereotypes

Description

latency

Number

1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Preliminary

 Maximum latency in ms.

 

 

packetDelayVariation

Number

1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Preliminary

 Maximum jitter in ms.

 

 

packetLossRatio

Number

0..1

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



_vduProfile

VduProfile

1..*RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Preliminary

 Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio   requirement exists.

 

 

  •     MANDATORY

Preliminary

Describes additional instantiation data for the VDUs   used in this flavor.



 _vduCpdProfile VduCpdProfile 1..*

qosId

Identifier

1

RW

 OpenModelAttribute
    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

    Preliminary

     

    Describes additional instantiation data for the vduCpds used in this flavour.

    _placementGroup

    PlacementGroup

    0..*

    qosName

    String

    1

    RW

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

     Human readable Qos name.

     

     

    rules

    KeyValuePair

    0..*

    Preliminary

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



    _baseConfigGroup

    BaseConfigGroup

    1RW

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

     Detailed requirements of Qos, including maximum bandwidth   limitation{max_kbps}、maximum burst bandwidth   limitation{max_burst_kbps} 、direction{egress|ingress},etc.

     

     

    Datatype:  StorageQos

    Preliminary

    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.



    _deploymentGroup

    DeploymentGroup

    0..*

    Attribute   Name

    Type

    Mult.

    Access

    Stereotypes

    Description

    qosId

    Identifier

    1

    RW

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

     Unique identifier of the storage Qos in VNFD.

     

     

    qosName

    String

    1

    RW

    Preliminary

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



    _scalinggroup

    ScalingGroup

    0..*

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY
    • range constraint
    • support:    MANDATORY

    Preliminary

    Identifies the vaious scaling groups within the VNF   which identify which vnfcs that need to be scaled together.




      Class: VduCpdProfile


    Attribute   Name

    Type

    Mult.

    Stereotypes

    Description

    _vduCpd

    VduCpd

    1

     Name of storage QoS.

     

     

    consumer

    consumerScope

    1

    RW

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

    Preliminary

    Uniquely identifies a VduCpd Consumer type.

     



    qos_specsAffinityOrAntiAffinityGroup

    KeyValuePairAffinityOrAntiAffinityGroup

    0..*RW

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

     Describe qualities of Qos:total_bytes_sec、total_iops_sec.

     

     

    ...

    Preliminary

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

    Class: AffinityOrAntiAffinityGroup

    RWOpenModelAttribute

    Attribute   Name

    Type

    Mult.

    Access

    Stereotypes

    DescriptionvolumeTypeId

    groupIdIdentifier1 RW OpenModelAttribute
    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

    Preliminary

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

    type

    RuleType

     Unique identifier of volume type in VNFD.

     

     

    volumeTypeName

    String

    1

    RW

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY    MANDATORY

    Preliminary

     Specifies whether the rule is an affinity rule or an anti-affinity   rule Name of volume type.

     

     

    backendNamescope

    StringRuleScope

    1

    RW

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

     Backend volume name of cinder.

     

     

    Datatype: LocalAffinityOrAntiAffinityRule

    ...

    Attribute   Name

    ...

    Type

    ...

    Mult.

    ...

    Access

    ...

    Stereotypes

    ...

    Description

    ...

    type

    ...

    RuleType

    ...

    1

    ...

    RW

    ...

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

    Preliminary

    ...

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

     

     

    Preliminary

     Specifies the scope of the rule.

     Currently, the scopes of the rule include:

    • NFVI_POP
    •  ZONE
    •  ZONE_GROUP
    • NFVI_NODE.

    Suggest to add NFVI_NIC.

     

    Enumerations  

    1. ConsumerScope

            Contains Enumeration Literals:

    •  BACK_END
    •   LOCAL

      2. NetworkType

      Contains Enumeration Literals:

      •  VLAN
      •  VXLAN
      •  FLAT
      •  GRE


      3. IpVersion

      Contains Enumeration Literals:

      •  IPv4
      •  IPv6

             4. AssociatedLayerProtocol

                   Contains Enumeration Literals:

                    Ethernet, MPLS, ODU2, IPV4, IPV6 and Pseudo-Wire.

    ...

    scope

    ...

    RuleScope

    ...

    1

    ...

    RW

    ...

    OpenModelAttribute

    • isInvariant: false
    • valueRange:  no range constraint
    • support:    MANDATORY

    Preliminary

     Specifies the scope of the rule.

     Currently, the scopes of the rule include:

    • NFVI_POP
    •  ZONE
    •  ZONE_GROUP
    • NFVI_NODE.

    Suggest to add NFVI_NIC.

    ...