Draft
This following is a working draft, and the contents can be changed as needed. The ETSI-based hierarchical orchestration is a concept, and it is not committed for the Guilin release.
Architecture
NFVO Architecture & Functions
The following diagram depicts the NFVO component architecture
Requirements
NFVO Microservice Plugin Framework
- Provides the NFVO function Microservice plugin framework for supporting:
- Default function plugins support (following default plugins will be registered to the Framework; routing will be configured)
- SOL005 NBI (API Handler)
- NS LCM Manager
- ETSI Catalog Manager Adapter
- Camunda Workflow Engine
- NS Workflows and Logic
- Resource Manager
- K8S Client
- Configuration Manager
- MultiCloud Adapter
- Inventory DB Adapter
- Notification Manager
- FM/PM Event Manager
- Substitution of existing function plugins
- Registration of a new substitution Microservice with version control (leverage a mechanism like AAI ESR/MSR/API Fabric/MSB - TBD)
- Plug-in a substitution Microservice
- Dynamic dispatching/launching a new plugin instance based on configuration/policy
- Extension of existing function plugins
- Default function plugin extension with version control
- Dynamic dispatching/launching an extended plugin instance based on configuration/policy
- Default function plugins support (following default plugins will be registered to the Framework; routing will be configured)
SOL005 NBI (API Handler)
- Provides SOL005-compliant Restful Northbound APIs for SO/SOL005 Adapter
- Supports NS Lifecycle Management (LCM) APIs
- Create NS (POST “/api/nslcm/v1/ns_instances”)
- Instantiate NS (POST “/api/nslcm/v1/ns_instances/{nsInstanceId}/instantiate”)
- Terminate NS (“/api/nslcm/v1/ns_instances/{nsInstanceId}/terminate”)
- Delete NS (DELETE “/api/nslcm/v1/ns_instances/{nsInstanceId}”)
- Scale NS (POST “/api/nslcm/v1/ns_instances/{nsInstanceId}/scale”) – stretch goal
- Heal NS (“POST ”/api/nslcm/v1/ns_instances/{nsInstanceId}/heal”) – stretch goal
- Query NS (GET “/api/nslcm/v1/ns_instances”, “/api/nslcm/v1/ns_instances/{nsInstanceId}”)
- Subscription (POST ”/subscriptions”)
- Notification (SO SOL005 Adapter client-provided; POST notification based on the callbackUrl from the subscription)
- Support NS Fault Management API (stretch goal)
Support NS Performance Management APIs (stretch goal)
- Leverages SOL005 Swagger Files
- https://forge.etsi.org/jenkins/view/All%20jobs/job/NFV%20-%20Network%20Functions%20Virtualisation/job/sol005-master/lastSuccessfulBuild/artifact/build/
- Provides interfaces with DCAE and Policy for Close Loop Automation
- This API Handler focuses on the SOL005 APIs, and its business logic is supplied by the NS LCM Microservice
- Supports NS Lifecycle Management (LCM) APIs
NS Workflows
- Provides Workflow engines (stand-along/clustered Camunda engine) for the NS workflow management
- Supports Stand-Alone/clustered Camunda engine(s) deployment
Allows hot deployment of custom workflow packages while ONAP NFVO is running
- Provides NS workflows
- Provides default NS workflows (part of ONAP NFVO deployment)
- CreateNS bpmn files with business logic
- InstantiateNS bpmn files with business logic
- TerminateNS bpmn files with business logic
- DeleteNS bpmn files with business logic
- Allows custom NS workflows deployment (Hot deployment)
- The Operators build their own workflows and business logic as war files
- The Operators drop off custom workflows war files into the Camunda deployment directory
- UI for the custom workflow war deployment would be supported
- Provides default NS workflows (part of ONAP NFVO deployment)
ETSI Package Onboarding for NFVO
- ONAP NFVO leverages the ETSI Catalog Manager as the run-time Catalog Database service provider.
- ETSI NS/VNF/PNF Packages are onboarded and distributed from SDC à ETSI Catalog Manager (note: this is NOT part of NFVO; it is a separate effort)
- ONAP NFVO queries ETSI NS/VNF/PNF Packages from the ETSI Catalog Manager
NS LCM Database
TBD
SOL003 Adapter for SVNFMs
- Provides SOL003-compliant (Or-Vnfm) Southbound APIs towards SVNFMs
- Supports VNF Lifecycle Management (LCM)
- Create VNF
- Instantiate VNF
- Terminate VNF
- Delete VNF
- Scale VNF
- Heal VNF
- Query VNF
- ModifyInfo VNF
- Subscription
- Notification
- Granting with HPA
- It is a Microservice and part of ONAP SO NFVO
- It is launched by NS Workflows for VNF LCM
- It locates the VNFM instance by leveraging AAI ESR
- Supports VNF Lifecycle Management (LCM)
Resource Manager
- Provides Resource Granting Information through OOF (Policy, MultiCloud, A&AI)
- Supports interfaces with OOF to collect Granting information
Collects Homing information from OOF and provides the information to other NFVO components
- Supports Or-Vi Interfaces that provided by VIM, Infrastructure Manager, VIM or CaaS manager (note: for Guilin, many of them would be stretch goals)
- Software Image Management
Container Image Management (stretch goal)
- Virtualized Resources Information Management
Virtualized Resources Capacity Management
- Virtualized Resources Management
Virtualized Resources Change Management
- Virtualized Resources Reservation Management
Virtualized Resource Quota Management
- Virtualized Resource Performance Management
Virtualized Resource Fault Management
- Network Forwarding Path (NFP) Management
Notification Manager
TBD
FM/PM Manager
TBD
ONAP SO, SOL005 Adapter and NFVO Interaction
<Existing SO Business Logic for VFC/SOL005 Adapter>
- ONAP SO leverages the existing E2E service instance management logic
- SO receives Create E2E Service Instance Request
- SO runs E2E Service BPMNs
- Decomposes E2E service requests for network resources
- Checks resource subcategory is “Network Service”
- Invokes Create Network Service Request through SOL005 Adapter
- SOL005 Adapter fetches NFVO endpoint details from AAI ESR
- Collects NFVO endpoint details from AAI ESR
- Sends SOL005 Create NS request to NFVO
</Existing SO Business Logic for VFC/SOL005 Adapter>
<New NFVO Path>
- NFVO performs NS LCM
- Returns NS ID
- SOL005 Adapter sends SOL005 Instantiate NS Request to NFVO
</New NFVO Path>
ONAP SO Refactoring for NFVO Function Extraction
ONAP SO | NFVO |
---|---|
Asdc-controller (scope: Service, NS, VNF, VF-Module) | Asdc-controller for NS, leveraging ETSI Catalog Manager |
API Handler | SOL005 API Handler |
BPMN Infra (scope: Service, NS, VNF, VF-Module) including Workflows with embedded Camunda Workflow engine | NS LCM + Default NS Workflows (with business logic) + Custom NS Workflows (with business logic) Stand-Alone/Clustered Camunda Workflow Engine |
VFC / SOL005 Adapter | Not Applicable |
SOL003 Adapter in SO | SOL003 Adapter in NFVO (move its home) |
Catalog DB Adapter | Leverage ETSI Catalog Manager |
Request DB Adapter (scope: service, NS, VNF, VF-Module) | Request DB Adapter for NS scope |
APPC Orchestrator | Configuration Manager Client |
ve-vnfm-adapter (SOL002 Adapter) | TBD |
sdnc-adapter | TBD |
nssmf-adapter | TBD |
Openstack adapter / MultiCloud adapter | Resource Manager |
VNF Adapter | Not Applicable (SOL003 Adapter delegates VNF operations to SVNFM) |
K8S Client (PoC) | K8S Client |
SO-monitoring | SO-monitoring for NS and VNF |
Common (beans and utils common for all the projects) | Leverage Common as needed |
Close Loop Handling | FM/PM Event Handler |
Communication Security
- ONAP SO NFVO NBI supports HTTPs and Authentication/Authorization towards SO/SOL005 Adapter.
- ONAP SO NFVO SBI (through SOL003 Adapter) supports HTTPs and Authentication/Authorization towards SVNFMs.
- TBD
Standard Interfaces
Create / Instantiate NS
The following diagram depicts the Create/Instantiate NS.
Terminate / Delete NS
The following diagram depicts the Terminate / Delete NS.