...
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 terminate is a stretch goal
Enhance SO BPMN workflows & recipes
VNF-level and VF-Module workflows, leveraging VNFM Adapter
Passing VNF LCM requests to VNFM using VNFM Adapter
Policy based VNF scale out thru VNFM Adapter (Stretch Goal)VNFM Adapter interfaces for VES eventPolicy Framework for scaling decisionsSO workflows for VNF Scale out
Provide VNF package management for VNFM (Stretch Goal; under investigation)
VNF-level and VF Module-level Assignment modeling in SDNC and A&AI (open issue)
VNF Application Configuration thru VNFM Adapter and VNFM (open issue & not for Dublin)
...
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 management (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 under discussion, for future release
- 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
- 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 from OOF (based on location, inventory data, resource availability, business rules, etc.) and/or VIM registration
- Subscription to SVNFM for getting notifications
- STARTING, PROCESSING, COMPLETED
- VNF Package management (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
...
VNFM Adapter Sub-components
- 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 SVNFMs.
...
- 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)
More SVFM SOL003 Interfaces for Future Release
- Scale
Terminate VNF
HTTP Method Type: POST
VNFM Endpoint: /vnf_instances/{vnfInstanceId}/
scaleterminate
Request Payload:
ScaleVnfRequestTerminateVnfRequest
Response Header: 202
acceptedsuccess
Response Body: not applicable
More SVFM SOL003 Interfaces for Future Release
Scale
to Level VnfVNF
HTTP Method Type: POST
- VNFM Endpoint: /vnf_instances/{vnfInstanceId}/scale_to_level
- Request Payload: ScaleVnfToLevelRequestScaleVnfRequest
- Response Header: 202 accepted
- Response Body: not applicable
- Scale to Level Vnf
- HTTP Method Type: POST
- VNFM Endpoint: /vnf_instances/{vnfInstanceId}/terminatescale_to_level
- Request Payload: TerminateVnfRequestScaleVnfToLevelRequest
- Response Header: 202 successaccepted
- Response Body: not applicable
- Delete VNF
HTTP Method Type: DELETE
VNFM Endpoint: /vnf_instances/{vnfInstanceId}
Request Payload: not applicable
Response Header: 204 success
Response Body: not applicable
- Operate VNF
HTTP Method Type: POST
VNFM Endpoint: /vnf_instances/{vnfInstanceId}/operate
Request Payload: OperateVnfRequest
Response Header: 202 success
Response Body: not applicable
...