Resource commitment:
- Ericsson: primary contact: Byung-Woo Jun
Usecase Lead:
Ericsson: Byung-Woo Jun
TSC Contact:
- Ericsson: Stephen terrill
Participating ONAP Projects:
- Implementation: SO, AAI, SDC (not in Dublin)
...
Leverage ETSI standards for VNF LCM in SO
Build SO VNFM Adapter
Use SOL003 APIs (2.5.1) for VNF LCM
Support operations such as create, instantiate, grant, terminate/delete, LCN subscription and LCN
- Support of Delete VNF is a stretch goal in Dublin
Enhance SO BPMN workflows & recipes
VNF-level Building Block workflows, leveraging VNFM Adapter
Passing VNF LCM requests to VNFM using VNFM Adapter
- Note: the followings are candidates for the El Alto release.
Provide VNF package management for VNFM
Policy-based VNF scaling thru VNFM Adapter
- Support of remaining SOL003 APIs
- VNF Package handling (Download & Parse VNF Package)
- Get package files from the SDC repository thru SO
- Provide VNF package(s), VNFDs and Artifacts to VNFM
- SO Catalog DB enhancement for SOL001/SOL004 is identified as future release work
...
A new SO sub-component, following ONAP Microservice Architecture
A Generic VNFM Adapter, supporting SOL003-compliant SVNFMs
- Support of SOL003 APIs for VNFM LCM
- Invoking SVNFM based on SOL003 VNF LCM APIs as a client
use https://forge.etsi.org/gitlab/nfv/SOL002-SOL003/2.5.1/master/src/SOL003/VNFLifecycleManagement swagger to generate a client
support Create VNF, Instantiate VNF, Terminate VNF /Delete VNF operations as a client
collect data for SOL003 API parameters from SDNC, A&AI and OOF (for models with homing: OOF-based granting might be supported in El Alto)
- Granting, based on ETSI VNFLifecycleOperationGranting
use https://forge.etsi.org/gitlab/nfv/SOL002-SOL003/tree/master/src/SOL003/VNFLifecycleOperationGranting swagger to generate grant services
Grant decisions based on the data either from 1) OOF (based on location, inventory data, resource availability, business rules, etc.) or 2) VIM registration, cloud region, etc.
- In Dublin, the option #2 will be supported first.
- Subscription to SVNFM for getting notifications
- STARTING, PROCESSING, COMPLETED
- Invoking SVNFM based on SOL003 VNF LCM APIs as a client
- SVNFM selection based on configuration values that are configured during VNF on-boarding and VNFM registration. Two methods are considered:
- Correlation between VNF NF Type and VNFM Type (Nokia method)
- Utilizing VNFD vnfm_info:type, VNFM registration values: VNFM type, Cloud region, vendor
...
- Vendor SVNFM must be "SOL003-compliant"
- Providing SOL003 APIs for VNFM LCM, based on ETSI VNFLifecycleManagement
- Use https://forge.etsi.org/gitlab/nfv/SOL002-SOL003/2.5.1/master/src/SOL003/VNFLifecycleManagement swagger for providing services
- Create
- Instantiate
- Grant request to SO VNFM Adapter, as a client
- Life cycle notification
- Terminate/Delete
- Registration itself to ONAP (thru A&AI ESR) - Name, Type, Vendor, Version, URL, VIM, Username and Password
- Providing Subscription Services for Life-cycle Management Notifications
- Support of the "Direct Mode" of Resource Management only
- After receiving a grant permission, the VNFM sends requests for resources directly to VIM
- Invoking MultiCloud from VNFM is under discussion, but not for Dublin
- The "Indirect Mode" of Resource Management is being discussed, but not for Dublin
...
Gliffy | ||||
---|---|---|---|---|
|
SOL001/SOL004 Standard Conformance
VNF Package
- A VNF Package is a compressed file that contains the following:
- One VNF descriptor (VNFD)
- One or more Software Image files
- Zero or more manifest files
- Other files
Package structure is SOL004 2.5.1 compliant.
- Note: SDC in Dublin has limitations and restrictions on SOL004 support:
- SDC does not allow custom directories such as Images, Scripts, Licenses and HOT in the root directory.
- SDC requires MainServiceTemplate.mf and MainServiceTemplate.yaml in the root directory
- As a result, in Dublin, the vendor VNF package should follow SDC onboarding rules. These SDC restrictions and limitations plan to be removed in the El Alto release.
- A VNF Package is a compressed file that contains the following:
Cloud Service Archive (CSAR) format
It is a packaging construct defined in SOL004 2.5.1, identified by a .csar suffix on the package file. In SOL004, there are two package options; one with TOSCA-Metadata, one without TOSCA-Metadata directories:
The CSAR file does not contain TOSCA-Metadata directory, the descriptor yaml file is in the root directory of the CSAR.
The CSAR file contains TOSCA-Metadata directory, the TOSCA meta file in this directory contains the location and name of the descriptor file denoted by Entry-Definitions
- In ONAP, the second option (with TOSCA-Metadata) is supported.
- Note: in SDC El Alto, if the VNF package with certificate and/or signature will be packaged as a zip file. The csar format continues to be used for the package without certificate and/or signature. The zip file without certificate and/or signature will be considered as an HEAT-based package.
VNFD
It is specified by the SOL001 2.5.1.
- Note 1: that the input and get_input function would be used by a TOSCA orchestrator at run time to access the selected input parameter. If the deployment is not done by a TOSCA orchestrator, the inputs and get_input function may not be needed. The VNFD design should follow the vendor SVNFM orchestration capabilities.
- Note 2: in Dublin, SDC will convert SOL001 VNFD to SDC AID DM, but it is not complete. More mapping design discussions are necessary in El Alto.
...
Epic | Feature | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ETSI Alignment - SO SOL003 plugin support to connect to external VNFMs | ETSI Alignment - SO SOL003 plugin support to connect to an external VNFM.
|
...
User Stories | Feature | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
| Create the Functional test case to validate VNFM Adapter NBI and SOL003-based SBI | Validate VNFM Adapter NBI and SOL003-based SBI | ||||||||
| SVNFM Simulator | For integration testing in ONAP, vendor-neutral SVNFM is needed, This SVNFM Simulator supports SOL003-based interfaces and message exchange sequences for interface verification. | ||||||||
| Create SO VNFM Adapter Northbound Interface using Swagger | Create SO VNFM Adapter Northbound Interface using Swagger | ||||||||
| Create Shell Adapter |
| ||||||||
| Create placeholder implementation for create VNF (without SVNFM interaction) |
Note: manual database update to trigger new BB flow and no pre-load | ||||||||
| Check for existing VNF (with SVNFM Interaction) |
| ||||||||
| Handle Create VNF request in VNFM adapter |
| ||||||||
| Instantiate VNF (with SVNFM Interaction) |
| ||||||||
| Handle Grant Request (Without Homing/OOF) | Reply to grant request based on given VIM info in request | ||||||||
| Monitor Job Status | Monitor Job Status
| ||||||||
| Create relationship between esr-vnfm and generic-vnf in AAI | Create relationship between esr-vnfm and generic-vnf in AAI
| ||||||||
| Handle Notification Subscription | Notification Subscription
| ||||||||
| Notification Handling - Instantiate | Notification Handling - Instantiate
| ||||||||
| Monitor Node Status | Monitor Node Status
| ||||||||
| Handling Homing in Flow | Handling Homing in Flow | ||||||||
| Handle VNF delete and termination (without SVNFM integration) | Deleting/Terminating VNF (without SVNFM integration)
| ||||||||
| Terminate VNF (with SVNFM interaction) | Terminate VNF (with SVNFM interaction)
| ||||||||
| Notification Handling - Terminate | Notification Handling - Terminate
| ||||||||
| Remove SDNC pre-load and introduce user_param handling | Remove SDNC pre-load and introduce user_param handling | ||||||||
| Handle Failure case where notification is missed (Query VNF) | Handle Failure case where notification is missed (Query VNF)
| ||||||||
| Spike - investigate OAM IP address handling for generic-vnf | Investigate OAM IP Address handling for generic-vnf |
...
Gliffy | ||||
---|---|---|---|---|
|
- SO VNFM Adapter component is a sub component of SO; utilizing docker image and container mangedmanaged.
- North Bound Interface (NBI)
- RESTful APIs that support createVnf , (invokes both createVnf and instantiateVnf), queryVnf, grantVnf, TerminateVnf
- Its APIs are SO specific; i.e., not SOL003-based ones; for the NB API details, see the SO VNFM Adapter APIs page.
- Business Logic layer
- It is invoked by the NBI and provides business logic for createVnf, instantiateVnf, queryVnf, terminateVnf
- SDNC and A&AI access to collect assignment and VimConnectionInfo
- Accesses SdcPackageProvider for getting SOL003 package(s) and parameters
- SdcPackageProvider
- Supports SOL001/SOL004 package management
- Provides getPackage, getVnfdId, getFlavorId, getVnfNodeProperty
- Provides getPackage(s), getVnfd, getArtifactFile for SVNFM
- Uses SDC Tosca Parser
- GrantManager
- Provides requestGrantForInstantiate REST API for SVNFM
- Invokes OOF for homing decision; HPA support, and/or non-OOF decision
- SOL003Lcn APIs
- Supports VnfIdentifierCreationNotification, VnfIdentifierDeletionNotification, VnfLcmOperationOccurrenceNotification
- SOL003 Communication Layer
- It is a thin REST client layer, which sends SOL003-compliant requests to SVNFMs and receives responses/notifications from SVNFM.
- For Grant, it provides the Grant REST endpoint for SVNFM
- North Bound Interface (NBI)
- SO VNFM Adapter component is a sub component of SO; utilizing docker image and container mangedmanaged.
...
SO BPMN VNF Workflow
A new VNF-level Building Block workflow will be created.
- Create and Instantiate VNF workflow (EtsiVnfInstantiateBB.bpmn)
- Delete VNF workflow (EtsiVNFDeleteBB.
<to add more details>- bpmn)
SO BPMN VF-Module Workflow
For ETSI-based VNF package, VF-Module level workflows will NOT be used.
SO VNFM Adapter will interface with SVNFM at the VNF level.
...