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, query, terminate, LCN subscription and LCN
- Support of Delete VNF is a stretch goal in Dublin
Enhance SO BPMN workflows & recipes
VNF-level and VF-Module workflows, leveraging VNFM Adapter
Passing VNF LCM requests to VNFM using VNFM Adapter
- Note: the following is candidates for the El Alto release.
Provide VNF package management for VNFM
Policy-based VNF scaling thru VNFM Adapter
...
A new SO sub-component, following ONAP Microservice Architecture
A Generic VNFM Adapter, supporting SOL003-compliant SVNFMs
- Support of SOL003 APIs for VNFM LCM
- 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
- 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, Query, Terminate VNF operations as a client
collect data for SOL003 API parameters from SDNC, A&AI and OOF (for models with homing)
- 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.
- Subscription to SVNFM for getting notifications
- STARTING, PROCESSING, COMPLETED
- VNF Package handling (Download & Parse VNF Package)
- 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
- Query
- Grant request to SO VNFM Adapter, as a client
- Life cycle notification
- Terminate
- 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.
- 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. There are two package options. The second option is supported.
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
VNFD
It is specified by the SOL001 2.5.1.
- Note 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.
...
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 |
Use Cases
- Choose a use case for demonstrating the VNFM Adapter capabilities
Testing
- Ericsson Internal Test:
- A vendor provides their VNF Package and SVNFM for managing the vendor-specific VNF package.
- For the SO VNFM Adapter NBI and SOL003-SBI interface validation, Ericsson SVNFM is used for the internal testing
- Integration Test:
- For the integration testing, generic/dummy VNF package and VNFM simulator are provided.
- The generic/dummy VNF package is to test onboarding and SOL001 parameters extraction during SOL003-based API parameters, such as descriptor_id, flavor, etc.
- VNFM simulator is a vendor-neutral SOL003-compliant VNFM, which supports SOL003 responses and message exchanges.
- Ericsson Internal Test:
...
VNFM Adapter Sub-components
Gliffy | ||||
---|---|---|---|---|
|
- SO VNFM Adapter component is a sub component of SO; utilizing docker image and container manged.
- North Bound Interface (NBI)
- RESTful APIs that support createVnf, instantiateVnf, queryVnf, grantVnf, TerminateVnf
- Its APIs are SO specific; i.e., not SOL003-based ones
- 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
- North Bound Interface (NBI)
SVNFMs.- SO VNFM Adapter component is a sub component of SO; utilizing docker image and container manged.
- SVNFM
SOL001/SOL004 Support & Design
...
Note: SO future release could consider SOL001/SOL004 internal representation in its Catalog DB, or using the Run-time Catalog DB
Design
- TBD
VNFM Adapter VNF Flow Design
- The following diagram depicts VNF flow design.
Gliffy | ||||||
---|---|---|---|---|---|---|
|
VNFM Adapter Run-time Scenarios
...