Use Case
To manage vendor-provided VNFs and VIMs, ONAP wants to leverage the vendor-supplied VNFMs. For that, ONAP SO in Dublin added a plug-in capability for SVNFMs and interfaces with the plugged SVNFMs through SOL003 API standards, along with SOL004 VNF packages which include SOL001 VNFD. The SOL003 Adapter in Dublin supported the SOL003 Create, Instantiate, Terminate and Delete operations with Granting, Subscription and Notification. In the Guilin release, the additional SOL003 operations will be supported as follows. For the SOL004 and SOL001 support, see the ETSI Package Management section (ETSI Package Management).
- Package Management for SVNFM
- Granting Enhancement with HPA
- Query
- Modify (TBD)
- Policy-based Scaling (Stretch goal)
- Security between the Adapter and VNFMs
- Additional operations will be determined
Feature Descriptions
...
Feature
...
Description
...
SOL003 VNFM Adapter exposes its NBI to any VNFM Adapter Client.
- VNFM Adapter will be part of SO microservices, but the adapter can be invoked thru MSB.
- It is a stepping stone for GNFC to leverage the VNFM Adapter
- Supports additional NBI operations for the additional SOL003-based SBI
- Support secured communication protocol and authentication and authorization via AAF
...
SOL003 Adapter package management support based on SOL003 APIs
- Handle SOL003-based VNF package requests from SVNFMs
- Query VNF packages from the ONAP-ETSI Catalog Manager
- Provide VNF packages to SVNFMs
...
Support of additional SOL003 operations, such as Grant enhancement, Query, Modify, Scale, Operation Status, FM, PM, Heal, VNF Indicator, Retry, Rollback, Failing, Cancelling, Resource Quota Available Notification
- operation selections and priorities will be determined
...
The VNFM Adapter needs to handle mapping between SOL001 VNFD and SDC AID DM
- Not all VNFD needs to be transformed to the SDC AID DM
- The Adapter will map the model as much as it needs
- Mapping to the VF-Module is questionable at this time
...
Policy-based Scaling with VNF Indicator and VES event handling
- Currently, SOL001 specifications does not support the VNF indicator configuration. As a result, VNFD-based VNF indicator is not supported; i.e., auto scaling is not yet supported
- Mapping between VF-Module and ScalingAspect+Data is under discussion. Several VNF vendors indicated that they don't want to handle the VF-Module level.
...
Secured communication and authentication and authorization support
- HTTPS protocol
- Authentication and Authorization support via AAF
Epic and User Story
...
Epic
...
User Story
...
Description
...
Table of Contents |
---|
Use Case
To manage vendor-provided VNFs and VIMs, ONAP wants to leverage the vendor-supplied VNFMs. For that, ONAP SO in Dublin added a plug-in capability for SVNFMs and interfaces with the plugged SVNFMs through SOL003 API standards, along with SOL004 VNF packages which include SOL001 VNFD. The SOL003 Adapter in Dublin supported the SOL003 Create, Instantiate, Terminate and Delete operations with Granting, Subscription and Notification. In the Guilin release, the additional SOL003 operations will be supported as follows. For the SOL004 and SOL001 support, see the ETSI Package Management section (ETSI Package Management).
- Package Management for SVNFM
- Granting Enhancement with HPA
- Query
- Modify (TBD)
- Policy-based Scaling (Stretch goal)
- Security between the Adapter and VNFMs
- Additional operations will be determined
Feature Descriptions
Feature | Description |
---|---|
SOL003 VNFM Adapter NBI Enhancement | SOL003 VNFM Adapter exposes its NBI to any VNFM Adapter Client.
|
SOL003 Adapter Package Management Support | SOL003 Adapter package management support based on SOL003 APIs
|
Granting Enhancement | Granting is enhanced to support HPA by leveraging OOF |
Additional of SOL003 operations | Support of additional SOL003 operations, such as Grant enhancement, Query, Modify, Scale, Operation Status, FM, PM, Heal, VNF Indicator, Retry, Rollback, Failing, Cancelling, Resource Quota Available Notification
|
Mapping between SOL001 VNFD and SDC AID DM | The VNFM Adapter needs to handle mapping between SOL001 VNFD and SDC AID DM
|
Policy-based Scaling | Policy-based Scaling with VNF Indicator and VES event handling
|
Secured communication and authentication and authorization support by SOL003 Adapter | Secured communication and authentication and authorization support
|
Epic and User Story
Epic | User Story | Description | In Guilin Plan? | JIRA | Size | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SOL003 Adapter maintenance Enhancements | SOL003 Adapter maintenance Enhancements | Yes |
| ||||||||||
Refactor SOL003 Adapter to organize its modules based on functions | Refactor SOL003 Adapter to organize its modules based on functions
| Yes |
| ||||||||||
SOL003 Adapter gets package info from ETSI Catalog Manager | SOL003 Adapter gets package info from ETSI Catalog Manager | Yes |
| ||||||||||
Support of ETSI SOL003 v2.7.1 Or-Vnfm Interface from ONAP to external VNF Manager(s) | Support of ETSI SOL003 v2.7.1 Or-Vnfm Interface from ONAP to external VNF Manager(s) Executive Summary - Provide an interface adapter from ONAP Service Orchestrator to external VNF Manager(s) using ETSI SOL003 v2.7.1 (Link to ETSI SOL003 v2.7.1) compliant Interface
Business Markets - All operators and service providers that are using ETSI SOL003 compliant VNF Managers Funding/Financial Impacts - Reduction in operations expense from using industry standard Interfaces. Organization Mgmt, Sales Strategies -There is no additional organizational management or sales strategies for this requirement outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider. | No |
| ||||||||||
SOL003 Adapter NBI Enhancement | Expose the Adapter NBI to any SOL003 Adapter client in ONAP | No | SO-2407 - SOL003 Adapter NBI Enhancement OPEN | ||||||||||
|
| No | SO-2408 - SOL003 Adapter NBI - Create (Create/Instantiate) OPEN | ||||||||||
|
| No | SO-2409 - SOL003 Adapter NBI - Delete (Terminate/Delete) OPEN | ||||||||||
|
| No | SO-2410 - SOL003 Adapter NBI - Query OPEN | ||||||||||
|
| No | SO-2411 - SOL003 Adapter NBI - Get Operation Status OPEN | ||||||||||
|
| No |
| ||||||||||
|
| No |
| ||||||||||
|
| No |
|
|
SOL003 Adapter |
Expose the Adapter NBI to any SOL003 Adapter client in ONAP
SO-2407 - SOL003 Adapter NBI Enhancement OPEN
- Create (Create/Instantiate)
- Create (Create/Instantiate)
SO-2408 - SOL003 Adapter NBI - Create (Create/Instantiate) OPEN
- Delete (Terminate/Delete)
- Delete (Terminate/Delete)
SO-2409 - SOL003 Adapter NBI - Delete (Terminate/Delete) OPEN
- Query
- Query
SO-2410 - SOL003 Adapter NBI - Query OPEN
- Get Operation Status
- Get Operation Status
SO-2411 - SOL003 Adapter NBI - Get Operation Status OPEN
- Modify
- Modify
- Heal
- Heal VNF (triggered by SOL003 Adapter, not auto-healing)
- Scaling (Stretch goal)
- Scaling (Stretch goal)
- Query Subscription Info
- Query Subscription Info (SVNFM → SOL003 Adapter)
SO-2418 - SOL003 Adapter Package Management - Query Subscription Info CLOSED
- Notify
- Notify (SVNFM ← SOL003 Adapter & ETSI Catalog Manager → SOL003 Adapter) : notify about VNF package onboarding or change
SO-2420 - SOL003 Adapter Package Management - Notify SUBMITTED
SO-2422 - SOL003 Adapter - Grant Enhancement that supports HPA by leveraging OOF IN PROGRESS
SO-1636 - Add Support of Query OPEN
SO-2423 - SOL003 Adapter - VNF Operation Status OPEN
-
SO-2424 - SOL003 Adapter - Secured communication between the Adapter and SVNFM OPEN
SO-2425 - SOL003 Adapter - Authentication and authorization support between the adapter and SVNFM OPEN
SO BPMN Workflows & Java for SOL003 Operations by leveraging the SOL003 Adapter NBIs
SO-2466 - SO BPMN Workflows and Java for SOL003 operations OPEN
- Enhance Create/Instantiate Workflows & Associated Java code
- Enhance Create/Instantiate Workflows & Associated Java code
- Modify the existing workflow to separate Create and Instantiate tasks
- Invoke the modified SOL003 Adapter NBIs
SO-2467 - Enhance Create/Instantiate Workflows & Associated Java code OPEN
- Enhance Terminate/Delete Workflows & Associated Java code
- Enhance Terminate/Delete Workflows & Associated Java code
- Modify the existing workflow to separate Terminate and Delete tasks
- Invoke the modified SOL003 Adapter NBIs
SO-2468 - Enhance Terminate/Delete Workflows & Associated Java code OPEN
- Create Query VNF Workflows & Associated Java code
- Create Query VNF Workflows & Associated Java code
- Invoke the modified SOL003 Adapter Query VNF NBI
SO-2469 - Create Query VNF Workflows & Associated Java code OPEN
- Create Get Operation Status Workflows & Associated Java code
- Create Get Operation Status Workflows & Associated Java code
- Invoke the modified SOL003 Adapter Get Operation Status NBI
- This operation could be used by the Instantiation and Termination of VNF; in this case, its workflow could be omitted
SO-2470 - Create Get Operation Status Workflows & Associated Java code OPEN
SO-2295 - CSIT of SOL003 ETSI Alignment for Frankfurt OPEN
Grant Enhancement that supports HPA by leveraging OOF | VNF Granting that supports HPA by leveraging OOF | No |
| |||||||||
SOL003 Adapter Enhancement for VNF Query | To invoke VNF Query | No |
| |||||||||
SOL003 Adapter Enhancement for VNF Operation Status | To invoke Operation Status | No | SO-2423 - SOL003 Adapter - VNF Operation Status OPEN | |||||||||
SOL003 Adapter Enhancement for VNF Modify | To invoke VNF Modify | No |
| |||||||||
SOL003 Adapter Enhancement for VNF Heal | To invoke VNF Heal | No |
| |||||||||
SOL003 Adapter Enhancement for VNF Scaling (Stretch goal) | to support Policy-based VNF Scaling support; Interface to DCAE for VES event | No |
| |||||||||
SO BPPN Workflows & Java for SOL003 Operations | SO BPMN Workflows & Java for SOL003 Operations by leveraging the SOL003 Adapter NBIs | No | SO-2466 - SO BPMN Workflows and Java for SOL003 operations OPEN | |||||||||
|
| No | SO-2467 - Enhance Create/Instantiate Workflows & Associated Java code OPEN | |||||||||
|
| No | SO-2468 - Enhance Terminate/Delete Workflows & Associated Java code OPEN | |||||||||
|
| No | SO-2469 - Create Query VNF Workflows & Associated Java code OPEN | |||||||||
|
| No | SO-2470 - Create Get Operation Status Workflows & Associated Java code OPEN | |||||||||
|
| No |
| |||||||||
|
| No |
| |||||||||
|
| No |
| |||||||||
CSIT enhancement for testing SOL003 Adapter enhancement | CSIT enhancement for testing SOL003 Adapter enhancement | No |
| |||||||||
Documentation for SOL003 Adapter enhancement features | Documentation for SOL003 Adapter enhancement features | No |
| |||||||||
SOL003 Adapter VNFM location enhancement | Enhance SOL003 Adapter VNFM location
| No |
|
SOL003 Adapter Architecture for Guilin
The diagram depicts SOL003 VNFM Adapter Architecture.
Gliffy | ||||||
---|---|---|---|---|---|---|
|
- SOL003 Adapter continues to be an SO microservice component, and exposes its NBI to any SOL003 Adapter client in ONAP
- SOL003 Adapter is registered to MSB.
- Operator registers VNFM and VIM to ESR in AAI.
- SOL003 Adapter exposes its NBI to any SOL003 Adapter client in ONAP
- Interfaces will be refactored to be generic to allow access by other ONAP components.
- The NBI will be enhanced for additional SOL003 operation support
- SDC distributes SDC packages including the vendor original SOL004 (VNF and PNF) and SOL007 (NS) packages
- SO (SDC Controller) passes the SDC CSAR ID to ETSI Catalog Manager to invoke storage
- ETSI Catalog Manager queries for SDC CSAR with the SDC CSAR id & store SOL004/SOL007 package.
- SO (BPMN) and the SOL003 Adapter client locates SOL003 Adapter.
- SO (BPMN) and the SOL003 Adapter client invokes SOL003 Adapter.
- SOL003 Adapter retrieves VNF package from Catalog Manager.
- SOL003 Adapter gets available VNFM locations (endpoints) and gets VIM and VNF Info.
- SOL003 Adapter selects a VNFM, based on a VNFM locating mechanism.
- SOL003 Adapter and SVNFM supports SOL003 VNF LCM, granting and package management operations.
- SOL003 Adapter supports HPA-based Granting, leveraging OOF.
- SOL003 Adapter updates vServer, status and VNF association in AAI
- SOL003 Adapter and SVNFM support authentication and authorization (AAF, and vendor AA mechanism)
- For integration testing, the VNFM Simulator is used.
...
Operation Interfaces Requirements
API Action | Actor | Method | URI | Description |
---|---|---|---|---|
Grant Request | VNFM → SOL003 Adapter | POST | /grants/ (GrantRequest) | To get VNF granting |
Query VNF | SOL003 Adapter → VNFM | GET | /vnf_instances /vnf_instances/{vnfInstanceId} | To get VNF instances or a VNF instance |
Modify VNF | SOL003 Adapter → VNFM | PATCH | /vnf_instances/{vnfInstanceId} (VnfInfoModificationRequest) | To modify VNF instances |
Get Operation Status | SOL003 Adapter → VNFM | GET | /vnf_lcm_op_occs | To get VNF operation status |
Package Management
- Creating subscriptions for the package management (VNFM → SOL003 Adapter)
- Subscribe (SVNFM → SOL003 Adapter) : subscribe to notifications related to onboarding and/or changes of VNF package
- The SVNFM sends a POST request for the Subscriptions resource including PkgSubscriptionRequest to the SOL003 Adapter.
- The SOL003 Adapter returns with a data structure of PkgmSubscription to the SVNFM
...
- Method 2: If the above processing does not work for the vendor VNF HPA, OOF will be called from the SOL003 Adapter per VNF. The following describes the interactions between SOL003 Adapter and OOF.
- Note: current, OOF does NOT support the VNF Level Homing request. OOF API enhancement is under discussion. Otherwise, the method 1 (Service Level Homing) is used.
- VNFM Adapter sends out homing requests to OOF (OSDF) containing resource info
- OOF (OSDF) pulls all the related homing constraints from Policy
- OOF (HAS) checks AAI database to pull region (flavor) information
- OOF (HAS) communicates with Multi-Cloud to check cloud capacity (vims which fulfill the requirements)
- OOF (OSDF) returns homing allocation solution to VNFM Adapter
- OOF collects information as following:
- Service and Resource Info, from: AAI
- HPA Flavors/Capabilities/Capacity Info, from: AAI
- Policy Models (Homing, PCI) from: Policy
- Infrastructure Metrics Info (capacity), from: MultiCloud
- Cloud Agnostic Intent Info, from: MultiCloud
- PCI configuration data (not yet a part of SDC model)
- SOL003 Adapter Homing Request to OOF
- <describe the homing request API and contract here>
GrantRequest Structure
Attribute name | Data type | Cardinality | Description |
vnfInstanceId | Identifier | 1 | Identifier of the VNF instance which this grant request is related to. Shall also be provided for VNFs that not yet exist but are planned to exist in the future, i.e. if the grant is requested for InstantiateVNF. |
vnfLcmOpOccId | Identifier | 1 | The identifier of the VNF lifecycle management operation occurrence associated to the GrantRequest. |
vnfdId | Identifier | 1 | Identifier of the VNFD that defines the VNF for which the LCM operation is to be granted. |
flavourId | Identifier | 0..1 | Identifier of the VNF deployment flavour of the VNFD that defines the VNF for which the LCM operation is to be granted. |
operation | GrantedLcmOperationType | 1 | The lifecycle management operation for which granting is requested. See note 1. |
isAutomaticInvocation | Boolean | 1 | Set to true if this VNF LCM operation occurrence has been triggered by an automated procedure inside the VNFM (i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf triggered by auto- heal). Set to false otherwise. |
instantiationLevelId | Identifier | 0..1 | If operation=INSTANTIATE, the identifier of the instantiation level may be provided as an alternative way to define the resources to be added. This attribute shall only be used if operation=INSTANTIATE. See note 2. |
addResources | ResourceDefinition | 0..N | List of resource definitions in the VNFD for resources to be added by the LCM operation which is related to this grant request, with one entry per resource. See note 2. |
tempResources | ResourceDefinition | 0..N | List of resource definitions in the VNFD for resources to be temporarily instantiated during the runtime of the LCM operation which is related to this grant request, with one entry per resource. See note 3. |
removeResources | ResourceDefinition | 0..N | Provides the definitions of resources to be removed by the LCM operation which is related to this grant request, with one entry per resource. |
updateResources | ResourceDefinition | 0..N | Provides the definitions of resources to be modified by the LCM operation which is related to this grant request, with one entry per resource. |
placementConstraints | PlacementConstraint | 0..N | Placement constraints that the VNFM may send to the NFVO in order to influence the resource placement decision. If sent, the NFVO shall take the constraints into consideration when making resource placement decisions, and shall reject the grant if they cannot be honoured. See note 4 and note 5. |
vimConstraints | VimConstraint | 0..N | Used by the VNFM to require that multiple resources are managed through the same VIM connection. If sent, the NFVO shall take the constraints into consideration when making VIM selection decisions, and shall reject the grant if they cannot be honoured. This attribute shall be supported if VNF- related Resource Management in direct mode is applicable. The applicability and further details of this attribute for indirect mode are left for future specification. |
additionalParams | KeyValuePairs | 0..1 | Additional parameters passed by the VNFM, specific to the VNF and the LCM operation. |
_links | Structure (inlined) | 1 | Links to resources related to this request. |
>vnfLcmOpOcc | Link | 1 | Related lifecycle management operation occurrence. |
>vnfInstance | Link | 1 | Related VNF instance. |
NOTE 1: NOTE 2: NOTE 3: NOTE 4: NOTE 5: The VNF LCM operations CreateVnfIdentifier, DeleteVnfIdentifier, QueryVnf and ModifyVnfInformation can be executed by the VNFM without requesting granting. |
Grant Structure
Attribute name | Data type | Cardinality | Description |
id | Identifier | 1 | Identifier of the grant. |
vnfInstanceId | Identifier | 1 | Identifier of the related VNF instance. |
vnfLcmOpOccId | Identifier | 1 | Identifier of the related VNF lifecycle management operation occurrence. |
vimConnections | VimConnectionInfo | 0..N | Provides information regarding VIM connections that are approved to be used by the VNFM to allocate resources, and provides parameters of these VIM connections. The VNFM shall update the " vimConnectionInfo" attribute of the "VnfInstance" structure by adding unknown entries received in this attribute. This attribute is not intended for the modification of VimConnection entries passed earlier; for that, the VnfInfoModificationRequest structure shall be used. This attribute shall only be supported when VNF-related Resource Management in direct mode is applicable. In direct mode, this parameter shall be absent if the VIM information was configured to the VNFM in another way, present otherwise. See note 1. |
zones | ZoneInfo | 0..N | Identifies resource zones where the resources are approved to be allocated by the VNFM. |
zoneGroups | ZoneGroupInfo | 0..N | Information about groups of resource zones that are related and that the NFVO has chosen to fulfil a zoneGroup constraint in the GrantVnfLifecycleOperation request. This information confirms that the NFVO has honoured the zoneGroup constraints that were passed as part of "placementConstraints" in the GrantRequest. |
computeReservationId | IdentifierInVim | 0..1 | Information that identifies a reservation applicable to the compute resource requirements of the corresponding grant request. See note 2. |
networkReservationId | IdentifierInVim | 0..1 | Information that identifies a reservation applicable to the network resource requirements of the corresponding grant request. See note 2. |
storageReservationId | IdentifierInVim | 0..1 | Information that identifies a reservation applicable to the storage resource requirements of the corresponding grant request. See note 2. |
addResources | GrantInfo | 0..N | List of resources that are approved to be added, with one entry per resource. |
tempResources | GrantInfo | 0..N | List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource. |
removeResources | GrantInfo | 0..N | List of resources that are approved to be removed, with one entry per resource. |
updateResources | GrantInfo | 0..N | List of resources that are approved to be modified, with one entry per resource. |
vimAssets | Structure (inlined) | 0..1 | Information about assets for the VNF that are managed by the NFVO in the VIM, such as software images and virtualised compute resource flavours. This attribute is not intended for the modification of vimAssets entries passed earlier. See note 3. |
>computeResourceFlavours | VimComputeResourceFlavour | 0..N | Mappings between virtual compute descriptors defined in the VNFD and compute resource flavours managed in the VIM. |
>softwareImages | VimSoftwareImage | 0..N | Mappings between software images defined in the VNFD and software images managed in the VIM. |
extVirtualLinks | ExtVirtualLinkData | 0..N | Information about external VLs to connect the VNF to. See note 5. |
extManagedVirtualLinks | ExtManagedVirtualLinkData | 0..N | Information about internal VLs that are managed by other entities than the VNFM. See note 4 and note 5. |
additionalParams | KeyValuePairs | 0..1 | Additional parameters passed by the NFVO, specific to the VNF and the LCM operation. |
_links | Structure (inlined) | 1 | Links to resources related to this resource. |
>self | Link | 1 | URI of this resource. |
>vnfLcmOpOcc | Link | 1 | Related VNF lifecycle management operation occurrence. |
>vnfInstance | Link | 1 | Related VNF instance. |
NOTE 1: NOTE 2: NOTE 3: NOTE 4: NOTE 5: This interface allows to signal the use of multiple VIMs per VNF. However, due to the partial support of this feature in the present release, it is recommended in the present document that the number of entries in the "vims" attribute in the Grant is not greater than 1. Modification of VIM assets during the lifetime of a VNF instance is not necessary, since it is expected that all applicable assets have been on boarded into the VIM before the VNF is instantiated. External and/or externally-managed internal VLs can be passed in VNF lifecycle management operation requests such as InstantiateVnf or ChangeVnfFlavor, and/or in the grant response. The NFVO may choose to override in the grant response external and/or externally-managed VL instances that have been passed previously in the associated VNF lifecycle management request, if the lifecycle management request has originated from the NFVO itself. |
Specifying HPA Capability Requirements using SOL001 VNFD
...
For HPA requirements, see Specifying HPA Capability Requirements using TOSCA-based VNF Descriptors.
<TBD>
ONAP Component Interactions for HPA
source: Policy and Information sources for HAS
Homing policies may come from vendor, service architect and ONAP Operator/Administrator.
...