This page shows the differences between the current clean version model with ETSI IFA011 v2.5.1 and other proposed changes:
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
cpuArchitecture | String | 0..1 | CPU architecture type. Examples are x86, ARM. The cardinality can be 0 during the allocation request, if no particular CPU architecture type is requested. | OpenModelAttribute
|
numVirtualCpu | Integer | 1 | Number of virtual CPUs. | OpenModelAttribute
|
virtualCpuClock | Number | 0..1 | Minimum virtual CPU clock rate (e.g. in MHz). The cardinality can be 0 during the allocation request, if no particular value is requested. | OpenModelAttribute
|
virtualCpuOversubscriptionPolicyString | Not specified | 0..1 | The CPU core oversubscription policy e.g. the relation of virtual CPU cores to physical CPU cores/threads. The cardinality can be 0 during the allocation request, if no particular value is requested. | OpenModelAttribute
|
vduCpuRequirementsKeyValuePair | Not specified | 0..N* | Array of key-value pair requirements on the Compute (CPU) for the VDU. | OpenModelAttribute
|
virtualCpuPinning | VirtualCpuPinningData | 0..1 | The virtual CPU pinning configuration for the virtualised compute resource. | OpenModelAttribute
editor's note: need to check whether can be optional |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
virtualMemSize | Number | 1 | Amount of virtual Memory (e.g. in MB). | OpenModelAttribute
|
virtualMemOversubscriptionPolicyString | Not specified | 0..1 | The memory core oversubscription policy in terms of virtual memory to physical memory on the platform. The cardinality can be 0 during the allocation request, if no particular value is requested. | OpenModelAttribute
|
vduMemRequirementsKeyValuePair | Not specified | 0..N* | Array of key-value pair requirements on the memory for the VDU. | OpenModelAttribute
|
numaEnabled | Boolean | 0..1 | It specifies the memory allocation to be cognisant cognizant of the relevant process/core allocation. The cardinality can be 0 during the allocation request, if no particular value is requested. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
id | Identifier | 1 | Unique identifier of this VirtualStorageDesc in the VNFD. | OpenModelAttribute
| attribute |
typeOfStorage | StorageType (enum with values: BLOCK, OBJECT, FILE) | 1 | Type of virtualised storage resource | Experimental OpenModelAttribute
| attribute |
sizeOfStorage DELETED in IFA011 v2.5.1. Should we keep this and mark as "Obsolete"? | Number | 1 | Size of virtualised storage resource | OpenModelAttribute
| attribute |
vduStorageRequirements DELETED in IFA011 v2.5.1. Should we keep this and mark as "Obsolete"? KeyValuePairThis is moved to BlockStorageData | Not specified | 0..N* | An array of key-value pairs that articulate the storage deployment requirements. | OpenModelAttribute
| attribute |
rdmaEnabledDELETED in IFA011 v2.5.1. Should we keep this and mark as "Obsolete"? This is moved to BlockStorageData | Boolean | 0..1 | Indicate if the storage support RDMA. | OpenModelAttribute
| attribute |
swImageDescDELETED in IFA011 v2.5.1. Should we keep this and mark as "Obsolete"? This is moved | Identifier (Reference to SwImageDesc) In info model type is SwImageDesc which makes sense as this is an association member end | 0..1 | Software image to be loaded on the VirtualStorage resource created based on this VirtualStorageDesc. | OpenModelAttribute
PassedByReference | association |
New in IFA011 blockStorageData | BlockStorageData (new datatype to be created) | 0..1 | Specifies the details of block storage. It shall be present when the "typeOfStorage" attribute is set to "BLOCK". It shall be absent otherwise. | Experimental OpenModelAttribute
| attribute |
New in IFA011 objectStorageData | ObjectStorageData (new datatype to be created) | 0..1 | Specifies the details of object storage. It shall be present when the "typeOfStorage" attribute is set to "OBJECT". It shall be absent otherwise. | Experimental OpenModelAttribute
| attribute |
New in IFA011 fileStorageData | FileStorageData (new datatype to be created) | Specifies the details of file storage. It shall be present when the "typeOfStorage" attribute is set to "FILE". It shall be absent otherwise. | Experimental OpenModelAttribute
| attribute |
...
Class: LogicalNodeData NOTE: In IFA011 v2.5.1 this is changed to class LogicalNodeRequirements
This information element describes compute, memory and I/O requirements that are to be associated with the logical node of infrastructure. The logical node requirements are a sub-component of the VDU level requirements. As an example for illustration purposes, a logical node correlates to the concept of a NUMA cell in libvirt terminology.
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
New in IFA011 id | Identifier | 1 | Identifies this set of logical node requirements. | OpenModelAttribute
|
logicalNodeRequirementDetail | KeyValuePair | 01..N* | The logical node-level compute, memory and I/O requirements. An array of key-value pairs that articulate the deployment requirements. This could include the number of CPU cores on this logical node, a memory configuration specific to a logical node (e.g. such as available in the Linux kernel via the libnuma library) or a requirement related to the association of an I/O device with the logical node. | OpenModelAttribute
|
...
Note 1: the description of this class are is different in ETSI GS NFV IFA 011 and ETSI GS NFV IFA 014. The present definition uses the definition in ETSI GS NFV IFA 014 as it is the more general.
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
cpdId | Identifier | 1 | Identifier of this Cpd information element. | OpenModelAttribute
| attribute |
In IFA 011 and model but not in clean: layerProtocol | Enum Model has type LayerProtocol | 1..N | Identifies which protocol the CP uses for connectivity purposes (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire, etc.). | OpenModelAttribute
| attribute |
cpRole In model this is called cpdRole to distinguish it from a cpRole | String | 0..1 | Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS. For example a VNF with a tree flow pattern within the VNF will have legal cpRoles of ROOT and LEAF. | OpenModelAttribute
| attribute |
description | String | 0..1 | Provides human-readable information on the purpose of the CP (e.g. CP for control plane traffic). | OpenModelAttribute
| attribute |
cpProtocol | CpProtocolData | 1..N | Identifies the protocol layering information the CP uses for connectivity purposes and associated information. There shall be one cpProtocol for each layer protocol as indicated by the attribute layerProtocol. Editor's note: the attribute "layerProtocol" still needs further discussion. The info model has layerProtocol and has moved cpProtocol to sub-classes. | OpenModelAttribute
| attribute |
trunkMode | Boolean | 1 | Information about whether the CP instantiated from this CPD is in Trunk mode (802.1Q or other). | OpenModelAttribute
| attribute |
New in IFA011 v2.5.1 securityGroupRuleId | Identifier (reference to SecurityGroupRule | 0..N* | Reference of the security group rules bound to this CPD. | OpenModelAttribute
| attribute or association? |
allowedAddressData Note: propose to move this out of common definition of Cpd as it is specified to VNFD. | AddressData | 0..N | For specifying floating IP(s) to be shared among Cpds, which are reserved for vnfReservedCpd described in the VNFD. | OpenModelAttribute
| attribute |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
bitrateRequirement | Number | 0..1 | Bitrate requirement on this CP. | OpenModelAttribute
| attribute |
vnicName | String | 0..1 | Describes the name of the vNIC this CP attaches to, e.g. eth0. It will be configured during the Vdu booting process. | OpenModelAttribute
| attribute |
vnicOrder (see newly added attribute below "order" to see if it could replace this) | Integer | 0..1 | Describes the order to create the vNIC within the scope of this Vdu. | OpenModelAttribute
| attribute |
vnicType Note: This is new in IFA011 v2.5.1 | Enum (create an enum called VnicType with the literals specified in valueRange ...in CAPS) | 0..1 | Describes the type of the virtual network interface realising the CPs instantiated from this CPD. This is used to determine which mechanism driver(s) to be used to bind the port. | Experimental OpenModelAttribute
Note: This is an Enum and would not have a valueRange specified | attribute |
virtualNetworkInterfaceRequirements | VirtualNetworkInterfaceRequirements | 0..N* | Specifies requirements on a virtual network interface realising realizing the CPs instantiated from this CPD. | OpenModelAttribute
| association |
IFA 011 and model both contain intVirtualLinkDesc | VnfVirtualLinkDesc (model) Identifier (IFA 011) | 0..1 | Reference of the internal VLD which this internal CPD connects to. | OpenModelAttribute
| association |
IFA 011 and model both contain order | Integer | 0..1 | The order of the NIC to be assigned on the compute instance (e.g. 2 for eth2). Note: when binding more than one port to a single compute (aka multi vNICs) and ordering is desired, it is mandatory that all ports will be set with an order value. The order values shall represent a positive, arithmetic progression that starts with 0 (i.e. 0, 1, 2,..., n). | OpenModelAttribute
| attribute |
Note that model contains cpProtocol at this sub-class level rather than in cpd | |||||
(inherited attributes) | All attributes inherited from Cpd. |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
flavorId | Identifier | 1 | Identifier of this DF within the VNFD. | OpenModelAttribute
| Attribute |
description | String | 1 | Human readable description of the DF. | OpenModelAttribute
| Attribute |
vduProfile | VduProfile | 1..N | Describes additional instantiation data for the VDUs used in this flavor. | OpenModelAttribute
| Association |
virtualLinkProfile | VirtualLinkProfile | 0..N | Defines the internal VLD along with additional data which is used in this DF. NOTE 1: This allows for different VNF internal topologies between DFs. NOTE 2: virtualLinkProfile needs to be provided for all VLs that the CPs of the VDUs in the VDU profiles connect to. | OpenModelAttribute
| Association |
instantiationLevel | InstantiationLevel | 1..N | Describes the various levels of resources that can be used to instantiate the VNF using this flavour. Examples: Small, Medium, Large. If there is only one "instantiationLevel" entry, it shall be treated as the default instantiation level for this DF. | OpenModelAttribute
| Association |
affinityOrAntiAffinityGroup | AffinityOrAntiAffinityGroup | 0..N | Specifies affinity or anti-affinity relationship applicable between the virtualisation containers (e.g. virtual machines) to be created using different VDUs or internal VLs to be created using different VnfVirtualLinkDesc(s) in the same affinity or anti-affinity group. NOTE: In the present specification, including either VDU(s) or VnfVirtualLinkDesc(s) into the same affinity or anti-affinity group is supported. Extension to support including both VDU(s) and VnfVirtualLinkDesc(s) into the same affinity or anti-affinity group is left for future specification. | OpenModelAttribute
| Association |
scalingAspect | ScalingAspect Note: This is not defined by ONAP. It is a Class. See IFA015 info model for how it is defined and place in class diagram. | 0..N | The scaling aspects supported by this DF of the VNF. scalingAspect shall be present if the VNF supports scaling. | OpenModelAttribute
| Association |
placementGroup | PlacementGroup | 0..N | Determine where VNFC's (VDU's) are placed with respect to the VNF | OpenModelAttribute
Experimental (note that experimental is a lifecycle state and not a value for "support") | Association |
baseConfigGroup | BaseConfigGroup | 0..1 |
| OpenModelAttribute
Experimental | Association |
deploymentGroup | DeploymentGroup | 1..N | DeploymentGroup provides the minimum viable VDU and associated VNFC configuration for a useable VNF. | OpenModelAttribute
Experimental | Association |
IFA011 also defines: defaultInstantiationLevelId supportedOperation vnfLcmOperationsConfiguration vnfIndicator initialDelta |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
vduId | Identifier (Reference to Vdu) Model has type Vdu as this is an association end | 1 | Uniquely identifies a VDU. | OpenModelAttribute
PassedByReference | Association |
numberOf Instances | Integer | 1 | Number of instances of VNFC based on this VDU to deploy for an instantiation level or for a scaling delta. | OpenModelAttribute
Experimental | Association |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
latency | Number | 1 | Maximum latency in ms. | OpenModelAttribute
|
packetDelayVariation | Number | 1 | Maximum jitter in ms. | OpenModelAttribute
|
packetLossRatio | Number | 0..1 | Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio requirement exists. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
type | Enum Which one? | 1 | Specifies whether the rule is an affinity rule or an anti-affinity rule. | support: MANDATORY valueRange: "Affinity", "Anti-Affinity" |
scope | Enum Which one? | 1 | Specifies the scope of the rule. | support: MANDATORY valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node" |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
groupId | Identifier | 1 | Identifies an affinity or anti-affinity group to which the affinity or anti-affinity rule applies. | OpenModelAttribute
| Attribute |
type | Enum AffinityType with literals: "AFFINITY" "ANTI_AFFINITY) | 1 | Specifies whether the rule is an affinity rule or an anti-affinity rule. | OpenModelAttribute
valueRange: "Affinity", "Anti-Affinity" Note: Incorrect usage of value range. Remove it | Attribute |
scope | AffinityScope enum with literals: "NFVI_POP" "ZONE" "ZONE_GROUP" "NFVI_NODE" | 1 | Specifies the scope of the rule. | OpenModelAttribute
valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node Note: Incorrect usage of value range. |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
addressType | Identifier Both IFA011 and model have this as an enum called "AddressType" with literals: "MAC" "IP" (note: model incorrectly calls this AdressType) | 1 | Describes the type of the address to be assigned to the CP instantiated from the parent CPD. Value:
etc. The content type shall be aligned with the address type supported by the layerProtocol attribute of the parent CPD. | OpenModelAttribute
|
l2AddressData | L2AddressData | 0..1 | Provides the information on the MAC addresses to be assigned to the CP(s) instantiated from the parent CPD. Shall be present when the addressType is MAC address. | OpenModelAttribute
Experimental |
l3AddressData | L3AddressData | 0..1 | Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD. Shall be present when the addressType is IP address. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
iPAddressAssignment | Boolean | 1 | Specify if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility. | OpenModelAttribute
|
floatingIpActivated | Boolean | 1 | Specify if the floating IP scheme is activated on the CP or not. | OpenModelAttribute
|
iPAddressType | Enum Which one? | 0..1 | Define address type. Values:
NOTE: The address type should be aligned with the address type supported by the layerProtocol attribute of the parent Cpd. | OpenModelAttribute
valueRange: "IPv4", "IPv6" Note: Incorrect usage of value range |
numberOfIpAddress | Integer | 0..1 | Minimum number of IP addresses to be assigned based on this L3AddressData information element. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
associatedLayerProtocol | Enum Model has this as LayerProtocol enum | 1 | One of the values of the attribute layerProtocol of the Cpd IE. | OpenModelAttribute
|
addressData | AddressData | 0..N Model has 1 | Provides information on the addresses to be assigned to the CP(s) instantiated from the CPD. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
layerProtocol | Enum Model has enum LayerProtocol, however it doesn't define the literals: "ETHERNET", "MPLS", "ODU2", "IPV4", "IPV6" and "PSEUDOWIRE" | 1..N | Identifies the protocol this VL gives access to (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). | OpenModelAttribute
|
flowPattern | String | 0..1 | Identifies the flow pattern of the connectivity (Line, Tree, Mesh). | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
virtualCpuPinningPolicy | Enum Model has enum CpuPinningPolicy | 0..1 | The policy can take values of "static" or "dynamic". In case of "static" the virtual CPU cores are requested to be allocated to logical CPU cores according to the rules defined in virtualCpuPinningRules. In case of "dynamic" the allocation of virtual CPU cores to logical CPU cores is decided by the VIM. (e.g.: SMT (Simultaneous Multi-Threading) requirements). | OpenModelAttribute
valueRange: "static", "dynamic" Incorrect use of valueRange |
virtualCpuPinningRule | Not specified Editor's note: need to be specified | 0..1 | A list of rules that should be considered during the allocation of the virtual CPUs to logical CPUs in case of "static" virtualCpuPinningPolicy. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
requestedAdditionalCapabilityName | String | 1 | Identifies a requested additional capability for the VDU. | OpenModelAttribute
valueRange: For acceleration capabilities, reference to ETSI GS NFV-IFA 002. Incorrect use of valueRange |
supportMandatory | Boolean | 1 | Indicates whether the requested additional capability is mandatory for successful operation. | OpenModelAttribute
|
minRequestedAdditionalCapabilityVersion | String | 0..1 | Identifies the minimum version of the requested additional capability. | OpenModelAttribute
|
preferredRequestedAdditionalCapabilityVersion | String | 0..1 | Identifies the preferred version of the requested additional capability. | OpenModelAttribute
|
targetPerformanceParameters | KeyValuePair | 1..N | Identifies specific attributes, dependent on the requested additional capability type. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
isAutoscaleEnabled | Boolean | 0..1 | It permits to enable (TRUE)/disable (FALSE) the auto-scaling functionality. NOTE: A cardinality of "0" indicates that configuring this present VNF property is not supported. | OpenModelAttribute
|
isAutohealEnabled | Boolean | 0..1 | It permits to enable (TRUE)/disable (FALSE) the auto-healing functionality. NOTE: A cardinality of "0" indicates that configuring this present VNF property is not supported. | OpenModelAttribute
|
additionalConfigurableProperty | String | 0..N | It provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
additionalVnfcConfigurableProperty | String | 0..N | It provides VNFC configurable properties that can be modified using the ModifyVnfInfo operation. NOTE: A cardinality of "0" indicates that configuring this present VNF property is not supported. | OpenModelAttribute
|
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
event | Enum In the model this is LcmEventType | 0..N | Describes VNF lifecycle event(s) or an external stimulus detected on a VNFM reference point. NOTE: At least one of these two attributes shall be included. | OpenModelAttribute
valueRange: for lifecycle events, include: "EVENT_START_INSTANTIATION", "EVENT_END_INSTANTIATION", "EVENT_START_SCALING", "EVENT_END_SCALING", "EVENT_START_SCALING_TO_LEVEL", "EVENT_END_SCALING_TO_LEVEL", "EVENT_START_HEALING", "EVENT_END_HEALING", "EVENT_START_TERMINATION", "EVENT_END_TERMINATION", "EVENT_START_VNF_FLAVOR_CHANGE", "EVENT_END_VNF_FLAVOR_CHANGE", "EVENT_START_VNF_OPERATION_CHANGE", "EVENT_END_VNF_OPERATION_CHANGE", "EVENT_START_VNF_EXT_CONN_CHANGE", "EVENT_END_VNF_EXT_CONN_CHANGE", "EVENT_START_VNFINFO_MODIFICATION", "EVENT_END_VNFINFO_MODIFICATION"; for external stimulus, include: receipt of request message of instantiation, scaling, healing, termination, change of VNF flavour, change of the operation state of the VNF, change of external VNF connectivity, modification of VNF information or the receipt of a notification regarding the change of a VNF indicator value. Incorrect usage of valueRange. Remove this. |
lcmTransitionEvent | String | 0..N | Describes the transition VNF lifecycle event(s) that cannot be mapped to any of the enumerated values defined for the event attribute. NOTE: At least one of these two attributes shall be included. | OpenModelAttribute
|
script | String | 1 | Information to locate a VNF LCM script (e.g. written in a DSL as specified in requirement VNF_PACK.LCM.001) triggered to react to one of the events listed in the event attribute. | OpenModelAttribute
|
scriptDsl | String | 1 | Defines the domain specific language (i.e. the type) of script that is provided. Types of scripts could include bash, python, etc. | OpenModelAttribute
|
scriptInput | KeyValuePair | 0..N | Array of KVP requirements with the key as the parameter name and the value as the parameter that need to be passed as an input to the script. NOTE: The scriptInput values are passed to the scripts in addition to the parameters received in the operation invocation request or indicator value change. | OpenModelAttribute
|
...