...
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
| identifier of the VNF instance
| |
vnfInstanceName | String | 1..* | Experimental OpenModelAttribute
| name of the VNF instance. Multiple names are possible.
| |
vnfProductName | String | 0..1 | Experimental OpenModelAttribute
| name to identify the VNF Product, invariant for the VNF Product lifetime
| |
description | invalid | 0..1 | Experimental OpenModelAttribute
| description of the VNF instance
| |
vnfProvider | invalid | 1 | Experimental OpenModelAttribute
| provider of the VNF model
| |
vnfdId | Identifier | 1 | Experimental OpenModelAttribute
| identifier of the VNF model
| |
vnfdVersion | String | 1 | Experimental OpenModelAttribute
| version of the VNF model
| |
vnfSoftwareVersion | String | 1 | Experimental OpenModelAttribute
| 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
| identifier of the specific VNF package on which the VNF instance is based
| |
availabilityZone | invalid | 1 | Experimental OpenModelAttribute
| availability zone information of the VNF instance
| |
operationalStatus | OperationalStatus | 0..1 | Experimental OpenModelAttribute
| indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path.
| |
orchestrationStatus | OrchestrationStatus | 1 | Experimental OpenModelAttribute
| whether the VNF instance is instantiated
| |
oamlpv4Address |
IpAddress | 0..1 | Experimental OpenModelAttribute
| oam ip address, ipv4
| |
oamlpv6Address |
IpAddress | 0..1 | Experimental OpenModelAttribute
| oam ip address, ipv6
| |
instantiatedVnfInfo | invalid | 0..1 | Experimental OpenModelAttribute
| information specific to an instantiated VNF instance, e.g., vm information
| |
inMaint | Boolean | 0..1 | Experimental OpenModelAttribute
| whether the VNF instance is in maintenance mode, if yes, DCAE will not observe alarms/traps, etc.
| |
isClosedLoopDisabled | Boolean | 0..1 | Experimental OpenModelAttribute
| whether closed loop function is enabled
| |
encryptedAccessFlag | Boolean | 0..1 | Experimental OpenModelAttribute
| whether this VNF is accessed using SSH
| |
vnfConfigurableProperty | invalid | 0..1 | Experimental OpenModelAttribute
| indicator for whether autoHeal and autoScale is enabled
| |
nfNamingCode | String | 1 | Experimental OpenModelAttribute
| String assigned to this model used for naming purpose.
| |
vnfNamingPolicyId | String | 1 | Experimental OpenModelAttribute
| Identifier of the policy which has the naming logic for this VNF instance
| |
vnfHomingPolicyId | String | 1 | Experimental OpenModelAttribute
| Identifier of the policy which provides homing conditions.
| |
nfType | String | 1 | Experimental OpenModelAttribute
| Generic description of the type of network function
| |
nfFunction | String | 1 | Experimental OpenModelAttribute
| English description of network function that the specific VNF deployment is providing.
| |
nfRole | String | 1 | Experimental OpenModelAttribute
| Role in the network this model will be providing
| |
closedLoopStatus | ClosedLoopStatus | 1 | Experimental OpenModelAttribute
| Whether closed loop capabilities are enabled for this or not.
| |
_nfc (vnfcinstance) | Vnfc | 1..* | Experimental OpenModelAttribute
| Relatonship to the NF components that are part of this VNF.
| |
_vnfd | Vnfd | 1 | Experimental OpenModelAttribute
| Relationship to the VNF descriptor
| |
_vnfvirtuallink | VnfVirtualLink | 0..* | Experimental OpenModelAttribute
| Relationship to VnfVirtualLink
|
...
Attribute Name | Type | Mult. | Stereotypes | Description | Rationale | |||||||
bitrateRequirement | Number | 0..1 | Preliminary OpenModelAttribute
| Bitrate requirement on this CP.
| ||||||||
vnicName | String | 0..1 | Preliminary OpenModelAttribute
| 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
| Describes the order to create the vNIC within the scope of this Vdu.
| ||||||||
vnicType | VnicType | 0..1 | Preliminary OpenModelAttribute
| Describes the type of the vNIC this CP attaches to.
| ||||||||
_virtualNetworkInterfaceRequirements | VirtualNetworkInterfaceRequirements | 0..* | Preliminary OpenModelAttribute
| Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD.
| sriovAntiAffinityGroup | Identifier | 0..1 | OpenModelAttribute
| 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 instancesfrom this CPD.
| This attribute is used when we need a back-up SRIOV port for one VM. The two ports must has anti-affinity. |||
securityGroups | String | 0..* | OpenModelAttribute
| VNFD needs to specify the security group name {security_groups} for each vNic.
| See description. | |||||||
portSecurityEnabled | Boolean | 0..1 | OpenModelAttribute
| VNFD needs to specify whether to enable security group for the vNic.
| See description. | |||||||
_qos | QoS | 0..1 | OpenModelAttribute
| 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
| Identifier of this Cpd information element.
| ||||||||
cpRole | String | 0..1 | Preliminary OpenModelAttribute
| 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
| Provides human-readable information on the purpose of the CP (e.g. CP for control plane traffic).
| ||||||||
cpProtocol | CpProtocolData | 1..* | Preliminary OpenModelAttribute
| 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
| Information about whether the CP instantiated from this CPD is in Trunk mode (802.1Q or other).
| ||||||||
allowedAddressData | AddressData | 0..* | Preliminary OpenModelAttribute
| For specifying floating IP(s) to be shared among Cpds, which are reserved for vnfReservedCpd described in the VNFD.
|
...
Attribute Name | Type | Mult. | Stereotypes | Description | Rationale |
id | Identifier | 1 | Preliminary OpenModelAttribute
| Unique identifier of this VirtualStorageDesc in the VNFD.
| |
typeOfStorage | String | 1 | Preliminary OpenModelAttribute
| Type of virtualised storage resource (e.g. volume, object).
| |
sizeOfStorage | Number | 1 | Preliminary OpenModelAttribute
| Size of virtualised storage resource (e.g. size of volume, in GB).
| |
vduStorageRequirements | KeyValuePair | 0..* | Preliminary OpenModelAttribute
| An array of key-value pairs that articulate the storage deployment requirements.
| |
rdmaEnabled | Boolean | 0..1 | OpenModelAttribute
Obsolete | Indicate if the storage support RDMA.
| |
swImageDesc | Identifier | 0..1 | Preliminary OpenModelAttribute
| Software image to be loaded on the VirtualStorage resource created based on this VirtualStorageDesc.
| |
multiAttach | Boolean | 0..1 | OpenModelAttribute
| 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
| Describe storage Qos requirements.
| Describe special Qos requirements for storage, see datatype"StorageQos" for details. |
_volumeType | VolumeType | 0..1 | OpenModelAttribute
| 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. |
...
Attribute Name | Type | Mult. | Access | Stereotypes | Description | Rationale |
cidr (Aligned with IFA 011v2.5.1) | String | 1 | RW | OpenModelAttribute
| Specifies the CIDR (Classless Inter- Domain Routing) of this L3 protocol. See note.
| |
ipAllocationPools (Aligned with IFA 011v2.5.1) | KeyValuePair | 0..N | RW | OpenModelAttribute
| 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
| Specifies the gateway IP address for this L3 protocol. See note. | |
ipVersion (Aligned with IFA 011v2.5.1) | IpVersion | 1 | RW | OpenModelAttribute
| Specifies IP version of this L3 protocol. | |
dhcpEnabled (Aligned with IFA 011v2.5.1)
| Boolean | 0..1 | RW | OpenModelAttribute
| Indicates whether DHCP (Dynamic Host Configuration Protocol) is enabled or disabled for this L3 protocol. See note. | |
ipv6AddressMode (Aligned with IFA 011v2.5.1) | Ipv6AddressMode | 0..1 | RW | OpenModelAttribute
| 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. | |
ipv6RaMode | Ipv6AddressMode | 0..1 | RW | 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:
|
hostRoutes | KeyValuePair | 0..N | RW | OpenModelAttribute
| 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
| 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
Preliminary | Maximum latency in ms.
| |
packetDelayVariation | Number | 1 | RW | OpenModelAttribute
Preliminary | Maximum jitter in ms.
| |
packetLossRatio | Number | 0..1 | RW | OpenModelAttribute
Preliminary | Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio requirement exists.
| |
qosId | Identifier | 1 | RW | OpenModelAttribute
| Qos ID.
| Give Qos an id for muliple classes to quote. This means Qos will be a class. |
qosName | String | 1 | RW | OpenModelAttribute
| Human readable Qos name.
| Human readable name, corresponding to qosId. |
rules | KeyValuePair | 0..* | RW | OpenModelAttribute
| 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
| Unique identifier of the storage Qos in VNFD.
| See description. |
qosName | String | 1 | RW | OpenModelAttribute
| Name of storage QoS.
| Human readable name, corresponding to the Id. |
consumer | ConsumerScope | 1 | RW | OpenModelAttribute
| Consumer type.
| Identify the volume which a Storge is based on comes from the backend or local. |
qosSpecs | KeyValuePair | 0..* | RW | OpenModelAttribute
| 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. |
...
Attribute Name | Type | Mult. | Access | Stereotypes | Description | Rationale |
volumeTypeId | Identifier | 1 | RW | OpenModelAttribute
| Unique identifier of volume type in VNFD.
| See description. |
volumeTypeName | String | 1 | RW | OpenModelAttribute
| Name of volume type.
| Human readable name, corresponding to the Id. |
backendName | String | 1 | RW | OpenModelAttribute
| 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
Preliminary | Identifier of this DF within the VNFD. |
description | String | 1 | OpenModelAttribute
Preliminary | Human readable description of the DF. |
_virtuaLlinkProfile | VirtualLinkProfile | 0..* | OpenModelAttribute
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
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
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
Preliminary | The scaling aspects supported by this DF of the VNF. scalingAspect shall be present if the VNF supports scaling. |
_vduProfile | VduProfile | 1..* | OpenModelAttribute
Preliminary | Describes additional instantiation data for the VDUs used in this flavor. |
_vduCpdProfile | VduCpdProfile | 1..* | OpenModelAttribute
Preliminary | Describes additional instantiation data for the vduCpds used in this flavour. |
_placementGroup | PlacementGroup | 0..* | OpenModelAttribute
Preliminary | Determine where VNFC's (VDU's) are placed with respect to the VNF |
_baseConfigGroup | BaseConfigGroup | 1 | OpenModelAttribute
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
Preliminary | DeploymentGroup provides the minimum viable VDU and associated VNFC configuration for a useable VNF. |
_scalinggroup | ScalingGroup | 0..* | OpenModelAttribute
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
Preliminary | Uniquely identifies a VduCpd. |
_AffinityOrAntiAffinityGroup | AffinityOrAntiAffinityGroup | 0..* | OpenModelAttribute
Preliminary | Identifier(s) of the affinity or anti-affinity group(s) the VduCpd belongs to. |
...
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
groupId | Identifier | 1 | RW | OpenModelAttribute
Preliminary | Identifies an affinity or anti-affinity group to which the affinity or anti-affinity rule applies. |
type | RuleType | 1 | RW | OpenModelAttribute
Preliminary | Specifies whether the rule is an affinity rule or an anti-affinity rule.
|
scope | RuleScope | 1 | RW | OpenModelAttribute
Preliminary | Specifies the scope of the rule. Currently, the scopes of the rule include:
Suggest to add NFVI_NIC.
|
Enumerations
...
1. ConsumerScope
Contains Enumeration Literals:
- BACK_END
- LOCAL
2. NetworkType
Contains Enumeration Literals:
- VLAN
- VXLAN
- FLAT
- GRE
3. IpVersionContains Enumeration Literals:
- IPv4
- IPv6
...