This page shows the differences between the current clean version model with ETSI IFA011 v2.4.3 .and other proposed changes:
- Verified against IFA011 v2.4.3. Also verified against v2.4.3 of the info model.
- Added "Attribute Type" column to indicate whether the class attribute is an "attribute" or member end of an "association"Changed attribute Applied Stereotypes to OpenModelAttribute. Without this information it is difficult to create a class diagram. We might want to consider also for those "Attribute Types" that are associations to put whether there is shared or composite aggregation, or no aggregation at all. Not added to current proposal.
- Changed attribute Applied Stereotypes to represent the actual stereotypes being applied, and not just a property of a stereotype.
- Added class definitions and applied stereotypes
- Proposal to define actual enums and not use the general term "Enum"
- Proposal to remove incorrect usage of valueRange in OpenModelAttribute stereotype
Table of Contents | ||
---|---|---|
|
...
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 | 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" |
...
Note: The model defines the attributes of this class differently.
"Attribute
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 Which one? | 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. | Attribute |
scope | Enum Which one? | 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" | 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
|
Datatype: CpProtocolData
...
A CpProtocolData information element describes and associates the protocol layer that a CP uses together with other protocol and connection point information.
Applied Stereotypes:
Preliminary
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
|
Datatype: ConnectivityType
The ConnectivityType datatype specifies the protocol exposed by a VL and the flow pattern supported by the VL.
Applied Stereotypes:
Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
layerProtocol | Enum Model has enum LayerProtocol | 1 | 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
|
Datatype: VirtualCpuPinningData
...
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" | virtualCpuPinningRuleIncorrect 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
|
Datatype: RequestedAdditionalCapabilityData
...
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
|
Datatype: VnfConfigurableProperties
Description:
This datatype defines the configurable properties of a VNF (e.g. related to auto scaling and auto healing). For a VNF instance, the value of these properties can be modified by the VNFM.
Applied Stereotypes:
- Preliminary
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
|
Datatype: VnfcConfigurableProperties
This datatype defines the configurable properties of a VNFC. For a VNFC instance, the value of these properties can be modified through the VNFM.
Applied Stereotypes:
- Preliminary
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
|
Datatype: LifecycleManagementScript
Note: In the model this is called VnfLifecycleManagementScript to distinguish it from NsLifecycleManagementScript
Also, in which class do you reference this datatype?
Defines the information elements related to the lifecycle management script for the VNF.
Applied Stereotypes:
- Preliminary
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 |
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
|
Class: VnfIndicator
Editor's note: may related to DCAE/VES projects
The VnfIndicator class defines the indicator the VNF supports.
Applied Stereotypes:
- OpenModelClass
- support: MANDATORY
- Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
id | Identifier | 1 | Unique identifier. | OpenModelAttribute
| Attribute |
name | String | 0..1 | The human readable name of the VnfIndicator. | OpenModelAttribute
| Attribute |
indicatorValue | String | 1..N | Defines the allowed values or value ranges of this indicator. | support: MANDATORY OpenModelAttribute
| Attribute |
source | Enum Model has VnfIndicatorType | 1 | Describe the source of the indicator. This tells the consumer where to send the subscription request. | OpenModelAttribute
valueRange: "VNF", "EM", "Both" Incorrect usage of valueRange | Attribute |
Datatype: MonitoringParameter
Editor's note: may related to DCAE/VES projects
This information element specifies the virtualised resource related performance metric to be tracked by the VNFM, e.g. for auto-scaling purposes. The VNFM collects the values of performance metrics identified by this information element from the VIM(s) using one or more locally initiated PM Jobs. These values can be used as inputs to auto-scaling rules
Applied Stereotypes:
- Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
id | Identifier | 1 | Unique identifier of the monitoring parameter. | OpenModelAttribute
|
name | String | 0..1 | Human readable name of the monitoring parameter. | OpenModelAttribute
|
performanceMetric | String | 1 | Identifies the virtualised resource performance metric. | OpenModelAttribute
|
collectionPeriod | Not specified Editor's note: need to be specified | 0..1 | An attribute that describes the recommended periodicity at which to collect the performance information. VNFM determines if this parameter is considered. The vendor may provide this information as a guidance for creating PmJobs if needed. NOTE: The MANO or NFVI may not support the recommended collectionPeriod based on |
...
their functionalities, and can reject the requests based on the recommended collectionPeriod in this case. | OpenModelAttribute
|
Class: VnfdElementGroup
A VNFD Element Group is a mechanism for associating elements of a VNFD (Vdus and VnfVirtualLinkDesc(s)) for a certain purpose, for example, scaling aspects.
A given element can belong to multiple groups.
Applied Stereotypes:
- OpenModelClass
support: MANDATORY
- Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
vnfdElementGroupId | Identifier | 1 | Unique identifier of this group in the VNFD. | OpenModelAttribute
| Attribute |
description | String | 1 | Human readable description of the group. | OpenModelAttribute
| Attribute |
vdu | Identifier (Reference to Vdu) Model has type Vdu as this is an association end | 0..N | References to Vdus that are part of this group. | OpenModelAttribute
| Association |
virtualLinkDesc | Identifier (Reference to VnfVirtualLinkDesc) Model has type VnfVirtualLinkDesc as this is an association end | 0..N | References to VnfVirtualLinkDesc that are part of this group. | OpenModelAttribute
| Association |
Class: PlacementGroup (Experimental)
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
elementGroupId | Identifier | 1 | Unique identifier of this group in the VNFD.. | OpenModelAttribute
| Attribute |
placementStrategy | Enum Define an actual enum type | 1 | Determine where VNFC's (VDU's) are placed with respect to the VNF. | OpenModelAttribute
valueRange: "co-location", "isolation", "exclusively" NOTE:
Incorrect use of valueRange | Attribute |
vnfcMembers | Not specified (should it be Identifier (Reference to Vdu)?) Good question. If it is the end of an association is should be type Vdu? | 0..N | References to Vdus that are part of this group. | OpenModelAttribute
| Association? |
strategyScope | Enum Define an actual enum | 1 | indicate if the strategy is applied at the host or rack level | OpenModelAttribute
valueRange: "host", "rack" Incorrect usage of valueRange | Attribute |
Class: BaseConfigGroup (Experimental)
...
Datatype: VnfInfoModifiableAttributes
This datatype defines the VNF-specific extension and metadata attributes of the VnfInfo that are writeable via the ModifyVnfInfo operation.
Applied Stereotypes:
- Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
extension | Not specified Editor's note: need to be specified | 0..N | "Extension" attributes of VnfInfo that are writeable. | OpenModelAttribute
|
metadata | Not specified Editor's note: need to be specified | 0..N | "Metadata" attributes of VnfInfo that are writeable. | OpenModelAttribute
|