ASD-Based CNF Orchestration PoC
- 1 Note: Work in Progress
- 2 Requirement
- 3 Concepts
- 4 Scope
- 4.1 In Scope
- 4.2 Out of Scope
- 5 Epic
- 6 User Story
- 7 Overall Process
- 8 ASD-Based App Package Type
- 9 LCM Architecture Overview
- 9.1 SO Internal Architecture
- 9.1.1 Future NS Consideration
- 9.1.2 AS LCM Restful API
- 9.1.3 ASD LCM Operations
- 9.1.3.1 Process Sequence
- 9.1.4 AS LCM APIs
- 9.1.4.1 Create an AS Identifier
- 9.1.4.2 Query AS Instance Identifiers
- 9.1.4.3 Query an AS instance by Instance ID
- 9.1.4.4 Instantiate an AS
- 9.1.4.5 Upgrading an AS
- 9.1.4.6 Terminate an AS Instance
- 9.1.4.7 Delete an AS Identifier
- 9.1.4.8 Register K8S Clusters
- 9.1.4.8.1 Information needed for registration
- 9.1.4.9 Deregister K8S Clusters
- 9.1.4.10 List Registered K8S Clusters (checking if AAI can be used)
- 9.1.5 Helm Command Support
- 9.1.6 Component Communication Security
- 9.2 Design and Distribution of ASD Service CSAR - Day 0
- 9.3 Instantiation of ASD Service CSAR - Day 1
- 9.1 SO Internal Architecture
- 10 Tenant Support
- 11 AAI Data Model
- 12 SO ASDC Controller Handling
- 13 VF-VF-Module-Helm Package
- 14 Deployment Components
- 15 SO CNF Manager Input Parameter Handling
Note: Work in Progress
Requirement
Key Contacts - @Byung-Woo Jun (Ericsson), ...
Executive Summary - Provide ASD-based CNF orchestration support through SO and its sub-components, CNFM and CNF Adapter using K8S
Support for provisioning ASD-based CNFs using an external K8s Manager
Instantiate and optionally overwrite the values of an application
Delete an application and optionally remove all relevant Persistent Volume Claims and Persistent Volumes
Change application details using the change package function, which allows to change the deployment version of the CNF thru an upgrade or rollback (stretch goal)
Leverage and enhance SO capabilities and adding new capabilities for ASD- and Helm-based CNF orchestration
Orchestrator shall support the capability to use the deployment parameters from ASD for the application or CNF deployment. These deployment parameter values shall correspond to the parameters defined in the “lifecycleParameters” section(s) of the ASD.
Orchestrator shall support the capability to construct a values file from instance specific parameter values provided at deployment time, and default values supplied in the chart.
Orchestrator shall support the capability to perform a chart render into concrete K8S resource descriptions.
Container resource management for determining placement for CNF application on certain K8S cluster(s), orchestrator shall support the capability to parse the workload descriptors and extract those values.
Business Impact - Enables operators and service providers to orchestrate ASD-based CNFs services along with the VNFs and PNFs
Business Markets - All operators and service providers that are intended to use the ASD-based CNFs along with PNFs / VNFs
Funding/Financial Impacts - Reduction in the footprint of the ONAP for CNF support
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
JIRA: https://lf-onap.atlassian.net/browse/REQ-1043
Concepts
K8S CISM Cluster: Container Infrastructure Service Manager Cluster performs the same function as VIM Zone but operates on containerized application level.
CNF: Cloud Native Network Function. Containerized VNF is designed to be deployed in the cloud as a container. CNF is a better fit for microservice architecture due to the deployment size.
Kubernetes: Kubernetes (K8s) is an open-source system for automating deployment, scaling and management of containerized applications
POD: A Pod is a group of one or more containers (such as Docker containers), with shared storage/network, and a specification for how to run the containers.
Scope
In Scope
See the Epic and User Stories.
Out of Scope
TBD
Epic
Epic | Description | JIRA | priority |
|---|---|---|---|
SO and its sub-components, CNFM, CNF Adapter, shall support ASD-based CNF lifecycle orchestration | SO and its sub-components, CNFM, CNF Adapter, shall support ASD-based CNF lifecycle orchestration (deployment and configuration) | 1 | |
User Story
Function | Affected Component | User Story & Description | JIRA | Priority | PoC Scope Y/N |
|---|---|---|---|---|---|
SO shall get the ASD-based CNF package from SDC and store its metadata to SO Catalog DB | ASDC Controller, CatalogDB Adapter, CatalogDB | SO shall get the ASD-based CNF package (SDC Service CSAR) from SDC and store its metadata to SO Catalog DB.
Pre Condition:
Post Condition:
| 1 | ||
For ASD-based CNF provisioning, SO shall process model info, decide flows and invoke SO CNFM for AS LCM | API Handler, RequestDB Adapter, RequestDB, SO BPMN Infra, AAI SO CNFM | Enhance SO API Handler and BPMN Infra workflow(s) for AS LCM
Post Condition:
| 2 | ||
SO BPMN Infra shall trigger Create AS Instance workflow(s).
Post Condition:
| 2.1 | ||||
SO BPMN Infra shall trigger Instantiate AS Instance workflow(s).
Pre Condition:
Post Condition:
| 2.2 | ||||
SO BPMN Infra shall trigger Delete AS Instance workflow(s).
Pre Condition:
Post Condition:
| 2.3 | ||||
ONAP Admin Creates Cloud Region(s) and Tenant(s) in AAI Note: use existing AAI admin interfaces (no SO code impact)
| 2.4 | ||||
In BPMN Infra, create the Create AS Workflow(s) to launch SO CNFM for Create AS
Post Condition:
| 2.5 | ||||
Enhance Instantiate AS Business Logic (Java code) to launch SO CNFM for Instantiate AS
Post Condition:
| 2.6 | ||||
Enhance Delete AS Workflow(s) to launch SO CNFM for Delete AS
Post Condition:
| 2.7 | ||||
SO CNFM shall process ASD-based CNF Lifecycle orchestration | SO CNFM, ASD Repository, Helm Artifact Repository, OOF, AAI, SDNC Adapter, SDNC | Create SO CNFM and make it available in ONAP
Post Condition:
| 3 | ||
Create ASD LCM REST API Swagger
Post Condition:
| 3.1 | ||||
Create SO CNFM NBI API Handler based on ASD LCM Restful Protocol swagger, no-ops
Post Condition:
| 3.2 | ||||
Implement Create AS Business Logic in SO CNFM NBI Handler to invoke the Create AS workflows(s) Post Condition:
| 3.3 | ||||
Implement Instantiate AS Business Logic in SO CNFM NBI Handler to invoke the Instantiate AS workflows(s) Post Condition:
| 3.4 | ||||
Implement Delete AS Business Logic in SO CNFM NBI Handler to invoke Delete AS workflows(s) Post Condition:
| 3.5 | ||||
Create SO CNFM Workflow(s) for Create AS
Post Condition:
| 3.6 | ||||
Create SO CNFM Workflow(s) for Instantiate AS
Post Condition:
| 3.7 | ||||
Create SO CNFM Workflow(s) for Delete AS
Post Condition: |