...
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) | Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3808 |
---|
|
| 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. - SO ASDC Controller handles ASD-based CNF Service CSAR onboarding
- When SO gets a package notification from DMaaP, SO SDC Controller queries SDC for the ASD-based CNF Service CSAR that embeds the ASD-based CNF Resource VF.
- SO Catalog DB Handling for ASD-based CNF packages
- SO distinguishes the ASD-based CNF package based on the package metadata, and stores the ASD-based CNF package metadata and artifacts to SO Catalog DB
- Resource VF TOSCA.metadata will have the "ASD" entity_definition_type
Pre Condition: - SO SDC Controller, CatalogDB Adapter and CatalogDB component instances are running and ready to get SDC notifications
Post Condition: - SO Catalog DB contains the ASD-based CNF package metadata and artifacts
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3839 |
---|
|
| 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 - SO endpoints shall be enhanced for handle ASD-based CNF LCM
- SO API Handler receives a service request for ASD-based CNF and stores the request information into the Request DB
- Thru workflow(s) mapping, SO API Handler invokes BPMN Infra workflows (e.g., Workflow_BB Execute)
- Configure SO MacroFlows configurations for invoking BPMN Infra workflows
Post Condition: - SO API Handler receives SO requests and invoke BPMN Infra Workflow(s) for AS LCM.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3905 |
---|
|
| 2 |
|
SO BPMN Infra shall trigger Create AS Instance workflow(s). - Enhance BPMN Infra workflow(s) to add the Create AS workflow(s) for Create AS
- BPMN Infra workflow(s) shall launch the Create AS workflow(s)
- Create AS workflow(s) invokes SO CNFM thru AS LCM Restful Create AS APIs
Post Condition: - SO CNFM Create AS NBI is invoked for Create AS
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3840 |
---|
|
| 2.1 |
|
SO BPMN Infra shall trigger Instantiate AS Instance workflow(s). |
Enhance - BPMN Infra main workflow(s)
|
to add the Instantiate - shall launch the enhanced AS workflow(s) for Instantiate AS
- Enhance BPMN Infra AS workflow(s)
|
shall launch - to enhance/add the Instantiate AS
|
workflow workflow- Extract required user parameters from the Service request body
- add service task(s)
|
invokes AS LCM Restful APIs- Instantiate AS operation message pattern is async.
|
As a response, it - Add a subsequent service task will get acknowledgement or error
- Add next Instantiate AS
|
workflow will - to query for the Instantiate AS status
Pre Condition: - Create AS Workflows have been performed
Post Condition: |
SO CNFM Instantiate AS NBI is invoked for Instantiate AS- Instantiate AS service task(s) invoke Instantiate AS operations and get acknowledgment/error and get the Instantiate AS status
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3881 |
---|
|
| 2.2 |
|
SO BPMN Infra shall trigger Delete AS Instance workflow(s). - Enhance BPMN Infra workflow(s) to add the Delete AS workflow(s) for Delete AS
- BPMN Infra workflow(s) shall launch the Delete AS workflow(s)
- Delete AS workflow(s) invokes SO CNFM thru AS LCM Restful Instantiate AS APIs
Pre Condition: - Create/Instantiate AS Workflows have been performed
Post Condition: - SO CNFM Delete AS NBI is invoked for Delete AS
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3885 |
---|
|
| 2.3 |
|
ONAP Admin Creates Cloud Region(s) and Tenant(s) in AAI Note: use existing AAI admin interfaces (no SO code impact) - ONAP Admin creates new cloud region(s) and tenant(s) in AAI
- Each K8S cluster is registered as a cloud-region in AAI, but K8S cluster connectivity info will not be stored in AAI
- In CNFO, MultiCloud K8S Plugin will hold the K8S connectivity info
- In our case, SO CNFM will hold the K8S connectivity info
- See the SO CNFM register/deregister K8S clusters operations for more details
- note: CNFO AAI Model K8S Resource Object Relations
Image Modified Image Modified | Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3882 |
---|
|
| 2.4 |
|
In BPMN Infra, create the Create AS Workflow(s) to launch SO CNFM for Create AS - SO BPMN Infra shall delegate ASD-based CNF orchestration to SO CNFM
- Extract required parameters from the Service request body
- With the Service request input parameters, formulate request messages by conforming to ASD LCM Restful Protocols (
|
ASD ASD Manager- Manager#SwaggerFile)
- for CreateASRequest, get:
- asdId
- asInstanceName
- asInstanceDescription
- As a SO CNFM client, use the following client operations to invoke SO CNFM
|
ASD ManagerPost Condition: - SO CNFM Create AS is invoked and AsInstance object is returned if the operation is successful; otherwise, an error will be returned
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3883 |
---|
|
| 2.5 |
|
Enhance Instantiate AS |
WorkflowsJava code) to launch SO CNFM for Instantiate AS - SO BPMN Infra shall delegate ASD-based CNF orchestration to SO CNFM
- Extract required parameters from the Service request body
- With the Service request input parameters, formulate request messages for Instantiate AS by conforming to ASD LCM Restful Protocols (
|
ASD ASD Manager- Manager#SwaggerFile)
- for InstantiateAsRequest, get:
- asdExtCpdInputParams
- deploymentItems
- additionalparams
- As a SO CNFM client, use the following client operations to invoke SO CNFM
|
ASD ManagerPost Condition: - SO CNFM Instantiate AS is invoked and the request is accepted
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3884 |
---|
|
| 2.6 |
|
Enhance Delete AS Workflow(s) to launch SO CNFM for Delete AS - SO BPMN Infra shall delegate ASD-based CNF orchestration to SO CNFM
- Extract required parameters from the Service request body
- With the Service request input parameters, formulate request messages by conforming to ASD LCM Restful Protocols (
|
ASD ASD Manager- Manager#SwaggerFile)
- for Delete AS, get:
- asInstanceId as a parameter
- As a SO CNFM client, use the following client operations to invoke SO CNFM
|
ASD ManagerPost Condition: - SO CNFM Delete AS is invoked and the AS instance and associated resource are deleted
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3886 |
---|
|
| 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 - Create SO CNFM as an SO sub-component, with NBI, Business Logic and SouthBound Plugin for 1) Helm Client or
2) CNF Adapter- In this PoC, the Helm Client SouthBound Plugin will be used
- use of the CNF Adapter is a future consideration.
- Make SO CNFM POD is deployable in OOM
- Register SO CNFM POD to AAI automatically to be recognized
Post Condition: | Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3888 |
---|
|
| 3 |
|
Create ASD LCM REST API Swagger - Create SO CNFM REST API swagger, based on the ASD LCM Restful API,
|
ASD ASD ManagerPost Condition: - Swagger file is ready for SO CNM NBI
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3889 |
---|
|
| 3.1 |
|
Create SO CNFM NBI API Handler based on ASD LCM Restful Protocol swagger, |
with no-ops - SO CNFM shall support its NBI REST Apis to handle requests from SO.
- Create SO CNFM NBI API Handler sub-component based on ASD LCM Restful Protocols swagger (
|
ASD ManagerASD ManagerASD ManagerASD Manager- For multiple operator K8S Cluster support, the following operations are supported (stretch goal)
|
ASD ManagerASD ManagerPost Condition: - SO CNFM NBI API Handler is ready to receive SO BPMN Infra requests, with
|
dummy operationsSO CNFM database is ready and provides services for SO CNFM | Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3890 |
---|
|
| 3.2 |
|
Implement Create AS Business Logic in SO CNFM NBI Handler to invoke the Create AS workflows(s) Post Condition: - SO CNFM NBI Handler is able to invoke Create AS workflow(s)
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3893 |
---|
|
| 3.3 |
|
Implement Instantiate AS Business Logic in SO CNFM NBI Handler to invoke the Instantiate AS workflows(s) Post Condition: - SO CNFM NBI Handler is able to invoke Instantiate AS workflow(s)
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3904 |
---|
|
| 3.4 |
|
Implement Delete AS Business Logic in SO CNFM NBI Handler to invoke Delete AS workflows(s) Post Condition: - SO CNFM NBI Handler is able to invoke Delete AS workflow(s)
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3894 |
---|
|
| 3.5 |
|
Create SO CNFM Workflow(s) for Create AS - Create AS Service Task(s) will invoke corresponding Create AS Java-based business logic.
Post Condition: - Workflow(s) for Create AS is ready
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3891 |
---|
|
| 3.6 |
|
Create SO CNFM Workflow(s) for Instantiate AS - Instantiate AS Service Task(s) will invoke corresponding Instantiate AS Java-based business logic.
- add vf module and k8s resource obj in A&AI
Post Condition: - Workflow(s) for Instantiate AS is ready
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3906 |
---|
|
| 3.7 |
|
Create SO CNFM Workflow(s) for Delete AS - Delete AS Service Task(s) will invoke corresponding Delete AS Java-based business logic.
Post Condition: - Workflow(s) for Delete AS is ready
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3892 |
---|
|
| 3.8 |
|
SO CNFM accesses ASD Registry for getting ASD for Create AS - SO CNFM shall communicate with the ASD Registry to get ASD (descriptor) and artifacts from the ASD Registry Manager
- Use the asdId (which is received during the Create AS operation) to retrieve an ASD
- Get ASD from the ASD Registry thru the ASD Registry Manager APIs (see the note)
e.g., GET /api/asds/<name>
- Note: for initial PoC, it is possible ASD is received from SDC
Post Condition: - SO CNFM receives a selected ASD
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3897 |
---|
|
(moved to London release) | 3.9 |
|
SO CNFM Processes ASD & Retrieves DeploymentItems - SO CNFM shall decompose the received ASD and get the associated DeploymentItems lists
- Get HelmChart references from the DeploymentItems
- use the 'artifactId' attribute for Helm chart references
- Get the corresponding Helm Charts from the Helm Registry
Note: for initial PoC, Helm Charts are received from SDC (tbd) Post Condition: - SC CNFM collects all the associated Helm Charts.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3898 |
---|
|
| 3.10 |
|
SO CNFM Input Parameter Handling and Instance-Level Helm Charts - SO CNFM shall process input parameters that came thru SO BPMN Infra, by conforming to ASD LCM Restful Protocols, such as:
- DeploymentItem parameters
- The key value pairs, which is to override the default values.yaml
- ExtCpdParams parameters
- The parameters will be used to resolve input in the Helm Charts
- For the initial PoC, only loadbalancerIP or externalIPs will be supported
- SO CNFM shall support the capability to construct custom values file(s), by:
- applying Instance-level input parameter parameter values which came thru SO
- enhancing helm charts with resolved input parameter values
- generating new custom values file(s), based on the DeploymentItem parameter values which came thru SO
- SO CNFM shall store the generated helm charts and/or values files to the SO CNFM database
Note: enhancedClusterCapbilities input parameter handling is a stretch goal. Post Condition: - Based on input parameters, ASD and DeploymentItems, a new instance-level Helm Charts will be built.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3899 |
---|
|
| 3.11 |
Create SO CNFM Instance Database Management
- Create SO CNFM Database tables (not necessarily, RDBMS: make a design design) to store:
- e.g., incoming requests
- e.g., custom values.yaml files
- Provides Database Access Objects (DAO) for CRUD for SO CNFM
Post Condition:
Generate and replace values file based on instance variable - SO CNFM generates and replace values files based on instance parameter values
Post Condition: - Helm Chart value files are replaced and ready to use for deployment.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3900 |
---|
|
(moved to London release) | 3.12 |
|
SO CNFM Transforms Enhanced Helm Charts to K8S Resource Description - SO CNFM shall transform enhanced Helm charts to K8S resource description (e.g., helm template or helm install --dry-run) to verify Helm charts and examine potential K8S resource requirements
Note: this transformation is for a placement decision. If the PoC placement logic is simple or predefined, this could be skipped. Post Condition: - K8S resource description is ready for feeding into placement.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3901 |
---|
|
(could be not part of the initial PoC) | 3.13 |
|
SO CNFM Gets an AS Placement Decision for a Target K8S Cluster - With the generated K8S resources description(s), for each K8S resource description (per Helm chart), SO CNFM shall get a placement decision based on the decision from the Placement component.
- In the initial PoC, a pre-selected K8S cluster (selected by the client) can be used. Use of the enhancedClusterCapabilities is a stretch goal.
- In the future, SO CNFM will do the following functions:
- ASD enhancedClusterCapabilities attribute will be used to for K8S Cluster selection requirements,
- SO CNFM will query for K8S clusters for capabilities. OOF can be used for this
- SO CNFM will choose a proper/capable K8S cluster.
Post Condition: - SO CNFM selects a target K8S cluster
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3896 |
---|
|
(moved to London release) | 3.14 |
|
SO CNFM Supports Target K8S Clusters Registration - SO CNFM shall support Registration of K8S cluster(s)
- To instantiate an AS on an non-ONAP K8S cluster, a cluster configuration file that is specific to the cluster must be uploaded.
- To add a cluster configuration file of a cluster, create a POST request .../aslcm/v1/clusterconfigs will be performed.
- SO CNFM receives the clusterconfigs info and creates a cluster configuration file (cluster name + "." + "config" to the ./kube directory.
- Note:
- The cluster configuration file for a particular cluster must be retrieved from the cluster administrator.
- The Cluster configuration file pre-requisites are:
- It must start with an alphanumeric character
- It can only contain alphanumeric characters, dashes (-_, or underscores (_)
- It must end with .config
- Should the cluster configuration file change for any reason, e.g., CA certificate rotation on the target cluster or client key expires, then the cluster file registered in SO CNFM/AAI shall need to be updated.
- The target cluster server and port must be reachable from the SO CNFM
|
.- Verify the connection to the target cluster
TBD- .
- Verify the connection to the target cluster
| TBD (registration is supported, but more to be enhanced in London; moved to London+) | 3.15 |
stretch goal (spike is needed) |
|
SO CNFM Supports Target K8S Clusters Deregistration - To remove a cluster configruation file, create a DELETE request. .../aslcm/v1/clusterconfig/{configName}
- The configName would include the K8S Cluster name as the file prefix
- CNFM will remove the "configName" + "." + "config" file from the .kube directory.
| TBD (moved to London) | 3.16 |
Stretch goal |
|
SO CNFM Provides a List of Registered K8S Clusters - To get details about registered clusters, create a GET request .../aslcm/v1/clusterconfigs
- The API returns a paginated response, but if a customized response is needed, additional parameters for page, size, or and filtering could be applied.
| TBD (moved to London) | 3.17 |
Stretch goal |
|
SO CNFM Helm Client Process for AS Deployment - For the initial PoC, the Helm Client will be used as a SO CNF Southbound plugin for interfacing with K8S Cluster(s)
- An ASD can contain multiple DeploymentItems (which are corresponding Helm Charts). To determine the order of Helm Chart executions, the deploymentOrder from the ASD>DeploymentItems will be used.
- Based on the deploymentOrder, the SO CNFM Helm Client does:
- From the registered K8S Clusters, choose a target K8S cluster name
- With the helm command with --kubeconfig or kube-contenxt option, set the target K8S cluster to work with.
- Invoke the helm install command towards the target K8S cluster, passing the release name, enhanced helm chart and custom values file.
- Create a unique release name with the helm chart name prefix
- Store the release name to the as_instance object/database
- e.g., helm install <release> <chart> --kubeconfig ~/.kubeconfigs/<cluster_name>.kubeconfig
Post Condition: - Helm Chart(s) under an ASD are deployed in the target K8S Cluster
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3895 |
---|
|
| 3.18 |
|
Task:
Per DeploymentItem, SO CNFM shall send (with cluster id, parameter, cloud artifacts) to the SO CNF Adapter for the connection to K8S pluginSupport Helm Template / Dry-run, Helm Install, Helm Uninstall and Helm Upgrade SO CNF Adapter APIs are being studied.
Note: for the initial PoC, the SO CNF Adapter will not be used. | N/A |
|
|
SO CNFM Updates the AS CNF Instance to AAI - SO CNFM shall update the AS CNF instance to AAI, by leveraging AAI APIs
- The Delete operation handle Termination implicitly, and delete the AS CNF instance from AAI.
Post Condition: - AAI database is updated/deleted for AS CNF instance (e.g., generic_vnf, vf-module).
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3902 |
---|
|
| 3.19 |
|
|
|
|
|
SO Client shall send requests for ASD-based CNF orchestration (note: E2E support is out of PoC scope) | SO Client, SO, SO BPMN, SO CNFM
| SO Client shall send requests for ASD-based CNF orchestration to SO - Provide required CNF instance input parameters, which are defined in the ASD LCM RESTful Protocols to the SO request
- Create(Create/Instantiate) AS
- asdId (modelVersionId)
- user params
- Delete(Terminate/Delete) AS
- Send AS LCM orchestration requests to SO
Pre Condition: - SO, SO CNFM and AAI and SDNC are ready and running
- Cloud-regions and tenants are defined in AAI
- Operator K8S Clusters are registered
Post Condition: - CNF Orchestration request is processed and CNF is deployed in the target K8S cluster.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3842 |
---|
|
| 4 |
|
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 supports multiple Helm Charts in CNF packages.
- ASD instance will be decomposed to find its associated deployment item(s).
...
Gliffy |
---|
macroId | aeb90e14-5c2e-46f5-b852-941a6f60f21a |
---|
displayName | SO ASD CNF Orchestration |
---|
name | SO ASD Orchestration |
---|
pagePin | 40 |
---|
|
Future NS Consideration
The following diagram depict the NS connection of ASDs.
Image Added
Gliffy |
---|
| |
---|
macroId | 2484887f-ebeb-4d63-a31b-ada9c0bf36c7 |
---|
|
AS LCM Restful API
Please refer to the section, ASD AS LCM RESTful Protocols for SO CNF Manager .
Gliffy |
---|
macroId | 35667bf9-261a-4ae2-b40c-d8e94ab2b643 |
---|
displayName | SO BPMN Infra - SO CNFM NBI Rest APIs |
---|
name | SO BPMN Infra - SO CNFM NBI Rest APIs |
---|
pagePin | 3 |
---|
|
...
- <Instantiate an AS>
- BPMN Infra sends an AS instantiate request to SO CNFM with the asInstanceId as follows:
- POST .../as_instances/{asInstanceId}/instantiate (InstantiateAsRequest)
- InstantiateAsRequest
Attribute Name | Data Type | Cardinality | Description |
---|
asdExtCpdInputParams | ExtCpdParams | 0..N | contains ext cpd parameter instance-level value |
deploymentItems | DeploymentItems | 1..N | contains lifecycle parameters for deploymentItems |
additionalParams | KeyValuesPairs | 0..1 | Additional input parameters for the instantiation process (this is a pace holder to hold any additional parameters which are needed by SO CNFM) |
- SO CNFM retrieves the corresponding AsInstance from its DB; it is retrieve the "asdId" for the ASD query
- SO CNFM queries an ASD with the asdId from the ASD Repository; caches the retrieved ASD in the memory during the Instantiate operations
- SO CNFM reads thru the ASD DeploymentItems, and per deploymentItems, SO CNFM queries for the associated Helm Chart (1:1) from the Helm Chart Repository
- caches the retrieved Helm Charts in the memory during the Instantiate operations
- SO CNFM reads the deploymentItems.deploymentOrder. Based on the order sequence, SO CNFM processes the deploymentItems one by one
- For each, deployment item,
- SO CNFm creates vf-modules in AAI
- SO CNFM assignes vf-modules in SDNC
- From the InstantiateAsRequest, SO CNFM retrieves the deploymentItems
DeploymentItems
deploymentItemId | Identifier | 1 | Identifies which deploymentItem |
lifecycleParameterKeyValues | KeyValuesPairs | 0..N | provides lifecycle parameter keys and values |
- The lifecycleParameterKeyValues contains a list of customizable attributes (key) in the values.yaml with instance-level values
- From the associated Helm Chart, SO CNFM gets the values.yaml
- SO CNFM creates a new values.yaml, based on the retrieved values.yaml + lifecycleParameterKeyValues
- ==== SO CNFM processes the asdExtCpdInputParam ==== TBD
- SO CNFM performs "helm template " to render K8S resource template(s)
- With the rendered k8S resource template(s), SO CNFM gets a placement decision from the Placement component (e.g., OOF)
- Currently, use of OOF is out of the scope from the initial PoC
- In the initial PoC, a simplified placement function will be used
- Based on the placement decision, SO CNFM determines the target K8S cluster
- Set the Helm command environment to connect to the target K8S cluster
- set .kube/{target K8S cluster name}.config
- SO CNFM invokes "helm install" command with the corresponding Helm Chart and a new values.yaml
- SO CNFM will have a few South-Bound plugin (helm client, CNF Adapter, others)Adapter, others)
- in the initial PoC, the helm client will be used
- SO CNFM Helm Client will select a target Kubernetes cluster
- e.g., helm install <release> <chart> --kubeconfig ~/.kubeconfigs/<cluster_name>.kubeconfig
- in the initial PoC, the
helm client will be used- target cluster is selected by the user and its name will be passed thru the user params (in SO) and additionalParams (in SO-CNFM)
- If successful, SO CNFM update the corresponding vf-module in the AAI
...
POST .../as_instances/{asInstanceId}/change_aspkg
Terminate an AS Instance
This operation terminates an AS instance.
POST .../as_instances/{asInstnaceId}/terminate (TerminateAsRequest)
Note: for PoC, GRACEFUL termination type is not supported.
Delete an AS Identifier
This operation deletes an AS Identifier.
...
- Helm Install
- Helm Uninstall
- Helm Upgrade
Note: Helm is a package manager. Managing how instances (helm release) of packages are run in an environment is a separate concern. For Helm release handling, we are considering additional tools and mechanisms.
Component Communication Security
...