Table of Contents
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
- Support for provisioning ASD-based CNFs using an external K8s Manager
- Support the Helm based orchestration
- leverage and enhance SO Catalog DB handler (ASDC Controller)
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 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: TBD
Epic
Epic | Description | JIRA |
---|---|---|
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
| |
...
User Story | Description | JIRA |
---|---|---|
SO shall get ASD-based CNF package from SDC and store it metadata to SO Catalog DB | SO shall get the ASD-based CNF package from SDC and store it metadata to SO Catalog DB.
| |
SO shall process model info and decide flows | SO shall process model info and decide flows
< CNF Manager processes requests >
| |
CNF Manager shall process ASD-based CNF Lifecycle orchestration | CNF Manager shall process ASD-based CNF Lifecycle orchestration
| |
AAI shall support CRUDQ of ASD-based CNF Resources | AAI shall support CRUDQ of ASD-based CNF Resources |
Overall Process
- Pre-Conditions
- SDC accepts onboarding App packages, including ASD and DeploymentItems models, Helm Charts, Images and other artifacts, what allows to keep decomposition of Service instance
- SO subscribes and receives package notifications from SDC
- ASD-Based CNF LCM Orchestration
- Based on the notifications, SO ASDC Controller queries for the App packages from SDC, and stores models and artifacts to SO Catalog Database
- MACRO workflow in SO is used for orchestration
ASD-Based App Package Type
- ASD-Based App Package The Resource VF(s) in the onboarded Service CSAR will have the following resource main manifest file, which contains asd-based app package-specific metadata as follows:
oran_id- oran_productapplication_name
- oran_application_provider_id
- oran_package_versionoran_release_date_time
- oran_entry_definition_type [ "asd", "app", "app-asd", ...]
- SO distinguishes the App package based on the "oran_entry_defintion_type" metadata.
- If it is "asd", SO will treat it process the package as the ASD-based CNF.
- SO delegates the ASD-based CNF orchestration to the CNF Manager
- x
LCM Architecture
The following diagram depicts LCM Architecture for the ASD-based CNF.
Gliffy Diagram | ||||||
---|---|---|---|---|---|---|
|
Design and Distribution of ASD Service CSAR - Day 0
The following sequence diagram depicts design and distribution of ASD service CSAR.
PlantUML Macro | ||
---|---|---|
| ||
@startuml
participant Designer
participant Admin
participant SDC
participant SO_Client
participant SO
participant CNFM
participant CNF_Adapter
participant K8S_Plugin
participant AAI
participant K8S_Cluster
autonumber
group ASD PACKAGE Distribution
hnote over SDC : SDC supports ASD-based Service CSAR
Designer -> SDC : Onboarding ASD App Package
SDC --> SDC : Onboards ASD App Package and\ngenerates Service CSAR
SDC -> SO : Distribute Service CSAR
SDC -> AAI : Distribute Service CSAR
SDC -> K8S_Cluster : Distribute Service CSAR
end
group K8S Cluster Admin
hnote over Admin : Admin accesses K8S Cluster
Admin -> K8S_Cluster : Create/Update/Configure K8S Cluster
Admin -> AAI : Add/Register K8S Cluster
AAI --> AAI : Add the tenant
AAI -> K8S_Plugin : Post Connectivity Info (Kubconfig file)
end
@enduml |
Instantiation of ASD Service CSAR - Day 1
The following sequence diagram depicts instantiation of ASD-based CNF.
AAI Data Model
AAI CNF Model - Overview
Note: the following overview came from the Direct CNFO AAI CNF Model. We will start it from here and will finalize the AAI model of ASD-based CNF.
- Currently no CNF Resources information is visible in ONAP AAI - agree
- Some interfaces are already implemented (Multicloud k8s Status/Query API) that
allow retrieval of detailed resources information - plan to leverage existing interfaces if they are appropriate - Initial implementation of CNF Model in AAI should be simple and allow user to
know about resources available and where to get their exact status from - plan to leverage the CNF model in AAI if they are appropriate - Long-Term solution should design appropriate CNF Resources in AAI, providing
only the most important data and relationships about them. - TBD
AAI CNF Model
Note: the following overview came from the Direct CNFO AAI CNF Model. We will start it from here and will finalize the AAI model of ASD-based CNF.
- Create additional AAI Object storing Any CNF Resource in K8s
- This new object (eg. k8sobject) should be related to generic-vnf/vf-module and cloud-region (subresource), using similar relationship matrix as vservers
- Data stored within AAI would be very generic, containing more or less only:
- Name [string; Primary Key]
- Group, Version, Kind [strings; Primary Key]
- Namespace [string; Primary Key]
- Labels [map[string]string or []string] (depending on AAI capabilities)
- Annotations [map[string]string or []string ] (depending on AAI capabilities)
- DetailsReflink [string or object]
- This field allows AAI Object consumer to specify query toward SO CNF Adapter to get full object data
Simple AAI CNF Model - Jakarta - Initial Model
Note: the following overview came from the Direct CNFO AAI CNF Model. We will start it from here and will finalize the AAI model of ASD-based CNF.
This model was drafted for reference and requires further tuning and agreement. This model needs to be discussed further at the Modeling Subcommittee
Main assumptions of this model:
- Update existing resources schema (Cloud-Region, Generic-VNF) and/or create CNF counterparts (VF-Module)
- Store Resources definitions about Controllers (eg. Deployments), Compute (Pods, Containers), Storage (PV/PVC), Network (Pod Interfaces, Services) and Configuration resources (eg. ConfigMaps, Secrets).
- Store unclassified resources like CRDs under “Uncategorized” - like object
...
SO ASDC Controller Handling
...