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


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

ONAP Vnfd - Topology View

Vnf Deployment Flavor

VNF Instance

 

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

OpenModelAttribute

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

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

 

 

 See description.

flavorExtraSpecs

KeyValuePair

0..*

OpenModelAttribute

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

Additional 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

Attribute   Name

Type

Mult.

Stereotypes

Description

 Rationale

id

Identifier

1

Preliminary

OpenModelAttribute

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

Unique identifier of this   VirtualStorageDesc in the VNFD.

 

 

 

typeOfStorage

String

1

Preliminary

OpenModelAttribute

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

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

 

 

 

sizeOfStorage

Number

1

Preliminary

OpenModelAttribute

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

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

 

 

 

vduStorageRequirements

KeyValuePair

0..*

Preliminary

OpenModelAttribute

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

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

 

 

 

rdmaEnabled

Boolean

0..1

OpenModelAttribute

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

Obsolete

Indicate if the storage support RDMA.

 

 

 

swImageDesc

Identifier

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.

 

 

 

multiAttach

Boolean

0..1

OpenModelAttribute

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

Indicating 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

0..1

OpenModelAttribute

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

Describe storage Qos requirements.

 

 

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


volumeType

_volumeType


VolumeType

0..1

OpenModelAttribute

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

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

 Network name associated with this L2 protocol.

 

 

 

 networkType

(Aligned with IFA 011v2.5.1)

 NetworkType  0..1 RW  OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
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
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
 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
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..1 RW   OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
 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

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

 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
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY
Specifies the gateway IP address for this L3 protocol. See note. 

ipVersion

(Aligned with IFA 011v2.5.1)



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

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

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

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

RW

OpenModelAttribute

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

Preliminary

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

 

 

 

qosId

Identifier

1

RW

OpenModelAttribute

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

 Qos ID.

 

 

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

qosName

String

1

RW

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

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

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

0..*

RW

OpenModelAttribute

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

 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

volumeTypeId

Identifier

1

RW

OpenModelAttribute

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

 Unique identifier of volume type in VNFD.

 

 

See description.

volumeTypeName

String

1

RW

OpenModelAttribute

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

 Name of volume type.

 

 

Human readable name, corresponding to the Id.

backendName

String

1

RW

OpenModelAttribute

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

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

Attribute   Name

Type

Mult.

Stereotypes

Description

flavorId

Identifier

1

OpenModelAttribute

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

Preliminary

Identifier of this DF within the VNFD.



description

String

1

OpenModelAttribute

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

Preliminary

Human readable description of the DF.



_virtuaLlinkProfile

VirtualLinkProfile

0..*

OpenModelAttribute

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

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

OpenModelAttribute

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

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

AffinityOrAntiAffinityGroup

0..*

OpenModelAttribute

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

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

OpenModelAttribute

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

Preliminary

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



_vduProfile

VduProfile

1..*

OpenModelAttribute

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

Preliminary

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



 _vduCpdProfile VduCpdProfile 1..* OpenModelAttribute
  • isInvariant: false
  • valueRange:  no range constraint
  • support:    MANDATORY

Preliminary

 

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

_placementGroup

PlacementGroup

0..*

OpenModelAttribute

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

Preliminary

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



_baseConfigGroup

BaseConfigGroup

1

OpenModelAttribute

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

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

OpenModelAttribute

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

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

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

OpenModelAttribute

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

Preliminary

Uniquely identifies a VduCpd.



_AffinityOrAntiAffinityGroup

AffinityOrAntiAffinityGroup

0..*

OpenModelAttribute

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

Preliminary

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

Class: AffinityOrAntiAffinityGroup

Attribute   Name

Type

Mult.

Access

Stereotypes

Description

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

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.

 

 

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.

 

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.


  












  • No labels

7 Comments

  1. I've started adding individual comments above. Here are general comments:

    1. I don't understand your explanation of how you are using the colors
    2. The color coding in the class diagrams doesn't always match the color coding in the tables, so the proposed changes aren't clear
    3. Can't read class diagrams. Talk to Kevin about this.
    4. Add TOC please
    5. In the Papyrus Vnf model, you have artifacts that are in the "diagrams" folder. Please move them to the appropriate folders.
    1. Hi Jessie,  

         For 1, please see the email.

         For 2 is yes, they are not match, because the papyrus work is what I do earlier, for the wiki page I want to distinguish the different situations. I marked all the attributes I added in papyrus using blue, for the common part that is what Kevin help to draw, I think he marked the ETSI alignment as blue, and the extened attributes in pink. You are right, this is a little misleading, I think maybe I should ask Kevin to help update again to turn the color align with the wiki page, if this helps.

        For 3, I am not very clear about what you are talking about.

        For 4, just added.

        For 5, I may do this job after I spend my holiday. 

      1. #2 Colors in class diagrams should match colors in tables

        #3 I can't see your diagrams. Kevin has a technique for creating them using the Snip tool. Talk to him about how to do this

        Also, I forgot to add in my list that you don't have the class descriptions. Given some other differences I'm seeing between the tables and what you have in the model in Papyrus, I'm suspecting that you didn't create the tables using the GenDoc output. Please do so.

  2. In the modelling for Datatype: AffinityOrAntiAffinityGroup is one "group" object synonymous with one "rule"?

    Why is it a called "group" if it is a singular object? Seems like it should be called a "rule" instead of a "group".

    How does this "group" differ from "LocalAffinityOrAntiAffinityRule"?

    The relationships to the "group" have cardinality "0..*" suggesting that there is a "list of groups", but the naming of the relationship suggests there is only a singular "group" relationship. Again it seems more like a "list of rules" rather than a relationship to a "group".

    In the definition of Datatype: AffinityOrAntiAffinityGroup, what capability is the "affinity" relative to? Should there be a relationship to a HPA capability in this definition, e.g. affinity or anti-affinity to "SRIOV", etc?



    In Class: VduProfile and Class: VirtualLinkProfile, why are both of these two relationships present, given that they appear to be both redundantly recording the "affinity" or "anti-affinity" rules?:

    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.


    The diagram Vnf Deployment Flavor is missing lines denoting relationships to the AffinityOrAntiAffinityGroup e.g. the VduProfile should have a line for the relationship rather than an attribute with type "Identifier". Presumably "Identifier" is intended to indicate the Primary Key of the class, rather than the Foreign Key of a relationship.

    The diagram Vnf Deployment Flavor shows the cardinality of VirtualLinkProfile to AffinityOrAntiAffinityGroup relationship is one-to-one, but VirtualLinkProfile table shows the cardinality as "0..*". Which one is correct?


      1. Hi Keong Lim , AffinityOrAntiAffinityGroup is not a "rule" (at least not a complete rule), as you could find in the very last table of this wiki page of the definitions, it's just a "group" describing its members are of affinity or anti-affinity relationship within the specified scope. It's a singular object because it's like defining a "container". And in VduProfile and/or VirtualLinkProfile, you can specify whether this vdu or virtual link belongs to one or more such groups ("containers").

        An example: we have one vdu A, and would like it to be deployed together with vdu B on the same host, but not with vdu C on the same host. Then you need to define two groups, group 1 and group 2 first, with group 1 has attributes "type=AFFINITY" and "scope=NFVI_NODE" and group 2 has attributes "type=ANTI-AFFINITY" and "scope=NFVI_NODE". And in the VduProfiles corresponding to vdu A, B and C, specifying that vdu A belongs to both group 1 and 2, vdu B belongs to group 1 and vdu C belongs to group 2.

        Currently, the affinity/anti-affinity rule doesn't support describing relationship to HPA capabilities. It's just describing homing strategies with regard to host, zone, dc, etc. And Chuyi has a proposal to enlarge the scope to also include physical NIC here.


        The difference between localAffinityOrAntiAffinityRule and affinityOrAntiAffinityGroupId is: the affinityOrAntiAffinityGroupId is used to describe a group this vdu/virtual link belongs to, as the above example shows, and indicates the relationship among different vdus and/or virtual links. However, the localAffinityOrAntiAffinityRule is used to describe the relationship among different instances of the same vdu or virtual link. Though both describing affinity/anti-affinity rules, they apply to different objects.


        Diagram issues you can further discuss with Chuyi and others.

  3. My review comments are inline with each of the attributes.