This page shows the current agreement on the design time information model of resources for ONAP R3.
...
Date | Change Description | |
---|---|---|
2018.5.2 | Copy from R2 clean version | |
2018.5.2 | Recategorize some of the "class" into "datatype" | |
2018.6.4 |
|
Table of Contents | ||
---|---|---|
|
Class: Vnfd
...
A VNFD is a deployment template which describes a VNF in terms of deployment and operational behaviour requirements. It also contains connectivity, interface and virtualised resource requirements.
Applied Stereotypes:
- OpenModelClass
support: MANDATORY
- Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
vnfdId | Identifier | 1 | Identifier of this VNFD information element. This attribute shall be globally unique. NOTE: The VNFD Identifier shall be used as the unique identifier of the VNF Package that contains this VNFD. Any modification of the content of the VNFD or the VNF Package shall result in a new VNFD Identifier. | OpenModelAttribute: isInvariant: true support: MANDATORY | attribute |
vnfProvider | String | 1 | Provider of the VNF and of the VNFD. | OpenModelAttribute: isInvariant: false true support: MANDATORY | attribute |
vnfProductName | String | 1 | Name to identify the VNF Product. Invariant for the VNF Product lifetime. | OpenModelAttribute: isInvariant: true support: MANDATORY | attribute |
vnfSoftwareVersion | String | 1 | Software version of the VNF. This is changed when there is any change to the software that is included in the VNF Package. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
vnfdVersion | String | 1 | Identifies the version of the VNFD. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
vnfProductInfoName | String | 0..1 | Human readable name for the VNF Product. Can change during the VNF Product lifetime. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
vnfProductInfoDescription | String | 0..1 | Human readable description of the VNF Product. Can change during the VNF Product lifetime. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
vnfmInfo | String | 0..N | Identifies VNFM(s) compatible with the VNF described in this version of the VNFD. | OpenModelAttribute: isInvariant: false support: MANDATORY valueRange: use the name of micro-service of the vnfm drive. For vendor specific VNFM, the value composes of "vendorname" and "vnfmdriver", e.g. "mycompanyvnfmdriver"; for generic VNFM, the value is "gvnfmdriver". | attribute |
localizationLanguage | String | 0..N | Information about localization languages of the VNF (includes e.g. strings in the VNFD). NOTE: This allows to provide one or more localization languages to support selecting a specific localization language at VNF instantiation time. | OpenModelAttribute: isInvariant: false support: MANDATORY valueRange: refer to ISO936 https://www.iso.org/iso-639-language-codes.html | attribute |
defaultLocalizationLanguage | String | 0..1 | Default localization language that is instantiated if no information about selected localization language is available. | OpenModelAttribute: isInvariant: false support: CONDITIONAL- MANDATORY valueRange: refer to ISO936 https://www.iso.org/iso-639-language-codes.html condition: Shall be present if "localizationLanguage" is present and shall be absent otherwise. | attribute |
vdu | Vdu | 1..N | Virtualisation Deployment Unit. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
virtualComputeDesc | VirtualComputeDesc | 1..N | Defines descriptors of virtual compute resources to be used by the VNF. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
virtualStorageDesc | VirtualStorageDesc | 0..N | Defines descriptors of virtual storage resources to be used by the VNF. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
IN IFA 011 but not in clean swImageDesc | SwImageDesc | 0..N | Defines descriptors of software images to be used by the VNF. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
intVirtualLinkDesc | VnfVirtualLinkDesc | 0..N | Represents the type of network connectivity mandated by the VNF provider between two or more CPs which includes at least one internal CP. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
vnfReservedCpd | VduCpd | 0..N | Reserved IP Address for VNF which is not bounded to any specific VNFC, but assigned manually from outside and potentially shared as a floating IP among VNFCs. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
vnfExtCpd | VnfExtCpd | 1..N | Describes external interface(s) exposed by this VNF enabling connection with a VL. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
deploymentFlavour | VnfDf | 1..N | Describes specific DF(s) of a VNF with specific requirements for capacity and performance. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
configurableProperties | VnfConfigurableProperties | 0..1 | Describes the configurable properties of the VNF (e.g. related to auto scaling and auto healing). | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
modifiableAttributes | VnfInfoModifiableAttributes | 0..1 | Describes the modifiable attributes of the VNF. Editor's note: need check the usage of this attribute | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
lifeCycleManagementScript | LifeCycleManagementScript | 0..N | Includes a list of events and corresponding management scripts performed for the VNF. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
elementGroup | VnfdElementGroup | 0..N | Describes the associated elements of a VNFD for a certain purpose during VNF lifecycle management. | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
vnfIndicator | VnfIndicator | 0..N | Declares the VNF indicators that are supported by this VNF. | OpenModelAttribute: isInvariant: false support: MANDATORY | assocation |
logo | String | 0..1 | File path of the vendor specified logo. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
guide | String | 0..1 | UUID of the vendor guide/documentation which is attached to VNF and can be downloaded from the model. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
IN IFA 011 but not in clean autoScale | Rule | 0..N | Rule that determines when a scaling action needs to be triggered on a VNF instance e.g. based on certain VNF indicator values or VNF indicator value changes or a combination of VNF indicator value(s) and monitoring parameter(s). | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
Class: Vdu
The Virtualisation Deployment Unit (VDU) is a construct supporting the description of the deployment and operational behaviour of a VNFC.
A VNFC instance created based on the VDU maps to a single virtualisation container (e.g.; a VM).
Applied Stereotypes:
- OpenModelClass
support: MANDATORY
- Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
vduId | Identifier | 1 | Unique identifier of this Vdu in VNFD. | OpenModelAttribute: isInvariant: true support: MANDATORY | attribute |
name | String | 1 | Human readable name of the Vdu. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
description | String | 1 | Human readable description of the Vdu. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
intCpd | VduCpd | 1..N | Describes network connectivity between a VNFC instance (based on this Vdu) and an Virtual Link (VL). | OpenModelAttribute: isInvariant: false support: MANDATORY | association |
virtualComputeDesc | Identifier (reference to VirtualComputeDesc) Info model has type: VirtualComputeDesc which makes more sense because this is an association member end. | 1 | Describes CPU, Memory and acceleration requirements of the Virtualisation Container realising this Vdu. | OpenModelAttribute: isInvariant: false support: MANDATORY PassedByReference | association |
virtualStorageDesc | Identifier (reference to VirtualStorageDesc) Info model has type: VirtualStorageDesc which makes more sense because this is an association member end. | 0..N | Describes storage requirements for a VirtualStorage instance attached to the virtualisation container created from virtualComputeDesc defined for this Vdu. | OpenModelAttribute: isInvariant: false support: MANDATORY PassedByReference | association |
bootOrder | KeyValuePair | 0..N | Boot order of valid boot devices. (lowest index defines highest boot priority). NOTE: If no boot order is defined the default boot order defined in the VIM or NFVI shall be used. | OpenModelAttribute: isInvariant: false support: MANDATORY valueRange: "key/name" indicates the the boot index "value" references a descriptor from which a valid boot device is created e.g. VirtualStorageDesc from which a VirtualStorage instance is created. | attribute |
swImageDesc | SwImageDesc (in model) IFA 011 has Identifier | 0..1 Editor's note: the scenario of using "0" needs to be clarified. | 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. | OpenModelAttribute: isInvariant: false support: MANDATORY PassedByReference | association |
nfviConstraint | KeyValuePair | 0..N | 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. | OpenModelAttribute: isInvariant: false support: MANDATORY valueRange: "key/name" includes "AvailabilityZone", "HostAggregates". | attribute |
monitoringParameter | MonitoringParameter | 0..N | Defines the virtualised resources monitoring parameters on VDU level. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
configurableProperties | VnfcConfigurableProperties | 1 | Describes the configurable properties of all VNFC instances based on this VDU. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
injectFiles | String | 0..N | Describes the information (e.g. URL) about the scripts, config drive metadata, etc. which can be used during Vdu booting process. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
Class: SwImageDesc
This information element describes the software image for a particular VDU or a virtual storage resource.
Applied Stereotypes:
- OpenModelClass
support: MANDATORY
- Preliminary
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes | Attribute Type |
---|---|---|---|---|---|
id | Identifier | 1 | The identifier of this software image. | OpenModelAttribute: isInvariant: true support: MANDATORY | attribute |
name | String | 1 | The name of this software image. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
version | String | 1 | The version of this software image. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
checksum | String | 1 | The checksum of the software image file. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
containerFormat | String | 1 | The container format describes the container file format in which software image is provided. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
diskFormat | String | 1 | The disk format of a software image is the format of the underlying disk image. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
minDisk | Number (recommended DM type: Scalar-Unit-Size) | 1 | The minimal disk size requirement for this software image. The value of the "size of storage" attribute of the VirtualStorageDesc referencing this SwImageDesc shall not be smaller than the value of minDisk. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
minRam | Number (recommended DM type: Scalar-Unit-Size) | 0..1 | The minimal RAM requirement for this software image. The value of the "size" attribute of VirtualMemoryData of the Vdu referencing this SwImageDesc shall not be smaller than the value of minRam. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
size | Number (recommended DM type: Scalar-Unit-Size) | 1 | The size of this software image. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
swImage | Identifier (Reference to a SwImage) Model has type SwImage which makes more sense because this is a member end of an association | 1 | This is a reference to the actual software image. The reference can be relative to the root of the VNF Package or can be a URL. | OpenModelAttribute: isInvariant: false support: MANDATORY PassedByReference | association |
operatingSystem | String | 0..1 | Identifies the operating system used in the software image. This attribute may also identify if a 32 bit or 64 bit software image is used. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
supportedVirtualisationEnvironment | String | 0..N | Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image. | OpenModelAttribute: isInvariant: false support: MANDATORY | attribute |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
flavorId | Identifier | 1 | Identifier of this DF within the VNFD. | support: MANDATORY |
description | String | 1 | Human readable description of the DF. | support: MANDATORY |
vduProfile | VduProfile | 1..N | Describes additional instantiation data for the VDUs used in this flavor. | support: MANDATORY |
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. | support: MANDATORY |
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. | support: MANDATORY |
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. | support: MANDATORY |
scalingAspect | ScalingAspect | 0..N | The scaling aspects supported by this DF of the VNF. scalingAspect shall be present if the VNF supports scaling. | support: MANDATORY |
placementGroup | PlacementGroup | 0..N | Determine where VNFC's (VDU's) are placed with respect to the VNF | support: EXPERIMENTAL |
baseConfigGroup | BaseConfigGroup | 0..1 |
| support: EXPERIMENTAL |
deploymentGroup | DeploymentGroup | 1..N | DeploymentGroup provides the minimum viable VDU and associated VNFC configuration for a useable VNF. | support: EXPERIMENTAL |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
vduId | Identifier (Reference to Vdu) | 1 | Uniquely identifies a VDU. | support: MANDATORY |
numberOf Instances | Integer | 1 | Number of instances of VNFC based on this VDU to deploy for an instantiation level or for a scaling delta. | support: MANDATORY |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
latency | Number | 1 | Maximum latency in ms. | support: MANDATORY |
packetDelayVariation | Number | 1 | Maximum jitter in ms. | support: MANDATORY |
packetLossRatio | Number | 0..1 | Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio requirement exists. | support: MANDATORY |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
type | Enum | 1 | Specifies whether the rule is an affinity rule or an anti-affinity rule. | support: MANDATORY valueRange: "Affinity", "Anti-Affinity" |
scope | Enum | 1 | Specifies the scope of the rule. | support: MANDATORY valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node" |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
groupId | Identifier | 1 | Identifies an affinity or anti-affinity group to which the affinity or anti-affinity rule applies. | support: MANDATORY |
type | Enum | 1 | Specifies whether the rule is an affinity rule or an anti-affinity rule. | support: MANDATORY valueRange: "Affinity", "Anti-Affinity" |
scope | Enum | 1 | Specifies the scope of the rule. | support: MANDATORY valueRange: "NFVI-PoP", "Zone", "ZoneGroup", "NFVI-node" |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
addressType | Identifier | 1 | Describes the type of the address to be assigned to the CP instantiated from the parent CPD. The content type shall be aligned with the address type supported by the layerProtocol attribute of the parent CPD. | support: MANDATORY |
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. | support: MANDATORY |
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. | support: MANDATORY |
...
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. | support: MANDATORY |
floatingIpActivated | Boolean | 1 | Specify if the floating IP scheme is activated on the CP or not. | support: MANDATORY |
iPAddressType | Enum | 0..1 | Define address type. NOTE: The address type should be aligned with the address type supported by the layerProtocol attribute of the parent Cpd. | support: MANDATORY valueRange: "IPv4", "IPv6" |
numberOfIpAddress | Integer | 0..1 | Minimum number of IP addresses to be assigned based on this L3AddressData information element. | support: MANDATORY |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
associatedLayerProtocol | Enum | 1 | One of the values of the attribute layerProtocol of the Cpd IE. | support: MANDATORY |
addressData | AddressData | 0..N | Provides information on the addresses to be assigned to the CP(s) instantiated from the CPD. | support: MANDATORY |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
layerProtocol | Enum | 1 | Identifies the protocol this VL gives access to (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire). | support: MANDATORY |
flowPattern | String | 0..1 | Identifies the flow pattern of the connectivity (Line, Tree, Mesh). | support: MANDATORY |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
virtualCpuPinningPolicy | Enum | 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). | support: MANDATORY valueRange: "static", "dynamic" |
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. | support: MANDATORY |
...
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
requestedAdditionalCapabilityName | String | 1 | Identifies a requested additional capability for the VDU. | support: MANDATORY valueRange: For acceleration capabilities, reference to ETSI GS NFV-IFA 002. |
supportMandatory | Boolean | 1 | Indicates whether the requested additional capability is mandatory for successful operation. | support: MANDATORY |
minRequestedAdditionalCapabilityVersion | String | 0..1 | Identifies the minimum version of the requested additional capability. | support: MANDATORY |
preferredRequestedAdditionalCapabilityVersion | String | 0..1 | Identifies the preferred version of the requested additional capability. | support: MANDATORY |
targetPerformanceParameters | KeyValuePair | 1..N | Identifies specific attributes, dependent on the requested additional capability type. | support: MANDATORY |
...
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. | support: MANDATORY |
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. | support: MANDATORY |
additionalConfigurableProperty | String | 0..N | It provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation. | support: MANDATORY |
...
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. | support: MANDATORY |
Datatype: LifecycleManagementScript
Attribute Name | Type | Multiplicity | Description | Applied Stereotypes |
---|---|---|---|---|
event | Enum | 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. | support: MANDATORY 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. |
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. | support: MANDATORY |
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. | support: MANDATORY |
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. | support: MANDATORY |
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. | support: MANDATORY |
...