Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

EpicDescriptionJIRA
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

  • Create
  • Instantiate
  • Terminate
  • Delete







...

User StoryDescriptionJIRA
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.

  • Distinguish the ASD-based CNF package based on package metadata

SO shall process model info and decide flows

SO shall process model info and decide flows

  • If the package metadata indicates 'ASD', SO shall process ASD-based CNF workflows
  • SO shall create service instance to AAI
  • SO shall resolve parameters
  • SO shall delegate ASD-based CNF orchestration to CNF Manager

< CNF Manager processes requests >

  • After the CNF Manager process, SO shall update CNF to AAI




CNF Manager shall process ASD-based CNF Lifecycle orchestration

CNF Manager shall process ASD-based CNF Lifecycle orchestration

  • CNF Manager shall process input parameters from SO
  • CNF Manager shall get enhanced ASD (descriptor) and artifacts from the ASD repository Manager
  • CNF Manager shall get associated Helm Charts from the Helm Repository Manager
  • CNF Manager shall decompose ASD and get the associated DeploymentItems list
  • CNF Manager shall transform ASD cloud artifacts with parameters to K8S resource description (e.g., helm template or helm install --dry-run)
  • CNF Manager shall get placement information by passing K8 resources + ASD' + additional data to the Placement
  • CNF Manager shall make a placement decision based on input data & return it
  • Per DeploymentItem, CNF Manager shall send (with cluster id, parameter, cloud artifacts) to K8S (e.g., helm install ...)
    • note: it is possible to leverage the CNF Adapter for the connection to K8S Plugin

AAI shall support CRUDQ of ASD-based CNF ResourcesAAI 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
macroId1d151ab6-c47b-4e49-977b-21a22df33f45
nameASD LCM Orchestration-Jakarta
pagePin1


Design and Distribution of ASD Service CSAR - Day 0

The following sequence diagram depicts design and distribution of ASD service CSAR.

PlantUML Macro
titleASD Onboarding
@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

...