Target release: Jakarta (it could be changed)
Note: this is based on the current ASD concept understanding. This would be a PoC use case to prove the usage of ASD and interactions of southbound interfaces (e.g., Kubernetes)
Goals:
- ASD onboarding to SDC, including:
- Allow SDC designers to customize/add custom properties ? e.g., defining input parameters, adding custom properties...
- Store original vendor packages
- Transforming onboarding ASD packages into internal ASD model
- Proposal: use the ASD model as SDC internal model
- ASD integration with Service Model in SDC
- SDC distribution to ONAP Runtime components
- Store internal ASD Descriptors in Catalog Manager
- Store Helm Charts in Helm Chart Repository
- Store Images in Image Repository
- Orchestration based on internal ASD-model
- Orchestrators (Helm v3) get Helm Chart
- demonstrate how internal ASD and Helm Charts are processed by the orchestrator (e.g.
- perform Dry Run in Helm v3
Helm 3 Interaction between Helm Client and Kubernetes API Server
Helm 3 has a client-only architecture with the client. In Helm 3, the client interacts directly with the Kubernetes API server The in-cluster server Tiller is removed.
ASD Onboarding and Orchestration PoC Architecture
The architecture conforms to the above Helm3 client-only architecture.
The following diagram depicts ASD onboarding and orchestration PoC.
Note:
- ETSI SOL001-based model orchestration leveraging Helm Processor needs to be sort out further.
- Helm Processor realization (e.g., MultiCloud??, EMCO?? others??) will be discussed
- Placement realization (e.g., OOF?? others??) will be discussed
Sequence Steps:
- Onboard package – this will ingest the package, and verify the integrity and authenticity of the package etc.
- SDC supports ASD packages in addition to ETSI packages
- both ASD and ETSI packages conform to ETSI SOL004
- SDC transforms vendor ASD to internal ASD
- Store relevant information in repo – for internal organization and making the package available for deployment.
- SDC creates Service CSAR for the ASD AND ETSI VNF/CNFD
- Descriptors will be stored in the Catalog Manager Repository
- Helm Charts will be stored in the Helm Repository
- Images will be stored in the Image Repository
- Receive deployment order, along with required parameters. The required parameters are the ones specified in the ASD under “lifecycleParameters”.
- SO receives incoming Service Requests and retrieves the corresponding Service Catalog
- So validates required parameters
- Fetch descriptors from Service package.
- SO decomposes incoming Service Requests into Resources
- If the resource is for CNF and ASD-based models, SO follows the ASD orchestration path
- If the resource is for ETSI-based models, SO delegates its orchestration to SO NFVO or VFC
- SO delegates ASD orchestration to the Helm Processor (Helm v3)
- SO passes Descriptor (ASD) information and required parameters (e.g., lifecycleParameters) to the Helm Processor
- Helm Processor handles internal ASD-based NF or application
- Helm Processor retrieves Helm Charts from the Repository
- Using received parameters and default values already in the chart to construct the value files.
- With this input Helm performs a chart render, i,e. translates the charts into concrete K8S resources descriptions.
- In the placement use case, the concrete K8S workload description (pod, daemonset, deployment, replicaset, statefulset, job, cronjobs, etc) and the ASD will be used by internal logic of orchestrator for placement decision.
- Perform placement decision – the placement function can parse the workload descriptors and ASD and use that information to select the appropriate cluster in the selected O-Cloud.
- Use Helm to install the application on a particular cluster with the values constructed in the Helm Processor
- Helm Processor do dry-run before sending its requests to K8S
ASD Package
<describe ASD Package structure based on SOL004, including ASD, Application Descriptor and others>
SDC Onboarding
- Package Delivery: A vendor delivers an SOL004-based ASD package
- Pre-Onboarding for validation: TBD
- Onboarding: SDC brings in and stores resources such as xNF, xApp and rApp into ONAP for later use in services.
Onboarding Information Flow
Note: ASD package validation is not addressed here. TBD
SDC Internal Package for ASD
The following depicts SDC internal package for ASD.
- SDC adds an UUID identifier
- SDC adds additional TOSCA Metadata
- SDC transforms ASD into internal models
- SDC can add a license model file
- The user may optionally add additional artifacts manually
Package Distribution
Interfaces
SDC Onboarding
SDC and Catalog Manager
SDC and Helm Repository
SDC and Image Repository
OSS/BSS and SO
SO and Helm Processor
Helm Processor and Placement
Helm Processor and Helm Client
Helm Client and O-Cloud (K8S)