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 | SDC 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: - 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 | Task: SO SDC - 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
| .1 | 1 | Task: - 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
| .1.2 | For ASD-based CNF 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 | and , decide flows and invoke SO CNFM for AS LCM | API Handler, RequestDB Adapter, RequestDB, SO BPMN Infra, AAI SO CNFM | For ASD-based CNF provisioning, SO shall process CNF model info and trigger Create AS Instance Enhance SO API Handler and BPMN Infra workflow(s) .for AS LCM - SO API endpoints shall be able to process AS LCM requests
- Create/enhance BPMN Infra workflow(s) for AS orchestration
- SO shall be able to map AS LCM requests to the predefined AS master workflow(s) in BPMN Infra
- Create AS workflow(s) for Create AS
- BPMN Infra workflow(s) shall launch the Create AS workflow(s)
Pre Condition: - SO CatalogDB contains ASD Model metadata
e.g., Resource VF TOSCA.metadata "ASD" entry_definition_type
Post Condition: - Create AS workflow(s) perform Create AS service task(s) that write log messages for recording task activitiesenhanced 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-38403905 |
---|
|
| 2 |
|
For ASD-based CNF provisioning, SO shall process CNF model info and trigger Instantiate AS Instance workflows. Create AS-CNF SO BPMN Infra shall trigger Create AS Instance workflow(s) for Instantiate AS. - Enhance BPMN Infra workflow(s) to add the Instantiate AS service taskthe Create AS workflow(s) for Create AS
- BPMN Infra workflow(s) shall launch the Instantiate Create AS workflow(s)
Pre Condition: - Create AS Workflows have been performedCreate AS workflow(s) invokes SO CNFM thru AS LCM Restful Create AS APIs
Post Condition: - Instantiate AS workflow(s) perform Instantiate AS service task(s) that write log messages for recording task activitiesSO CNFM Create AS NBI is invoked for Create AS
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3881 |
---|
|
For ASD-based CNF provisioning, SO shall process CNF model info and trigger Delete AS Instance workflows. Create AS-CNF | 2.1 |
|
SO BPMN Infra shall trigger Instantiate AS Instance workflow(s) for Delete AS. - Enhance BPMN Infra workflow(s) to add the Delete AS service taskthe Instantiate AS workflow(s) for Instantiate AS
- BPMN Infra workflow(s) shall launch the Delete Instantiate AS workflow(s)
Pre Condition- Instantiate AS workflow(s) invokes SO CNFM thru AS LCM Restful Instantiate AS APIs
- Instantiate AS operation message pattern is async. As a response, it will get acknowledgement or error
- Instantiate AS workflow(s) will query for the Instantiate AS status
Pre Condition: - Create /Instantiate AS Workflows have been performed
Post Condition: - Delete AS workflow(s) perform Delete AS service task(s) that write log messages for recording task activitiesSO CNFM Instantiate AS NBI is invoked for Instantiate AS
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3885 |
---|
|
| For ASD-based CNF provisioning, SO shall process model info and decide flows
Pre Condition:
SO CNFM is running and ready to receive requestsSO CatalogDB contains ASD Model metadataResource VF TOSCA.metadata "ASD" entry_definition_type
SO Client provides parameters based on the ASD lifecycleParameter listExisting SO requests will be used to invoke SOThe SO Request should include the parameters required for the ASD LCM Restful Protocols. See ASD LCM RESTful Protocols for SO CNF Manager for the required parameters
Instantiation time parameters such as network parameters and helm chart values overrides will be passed thru the above ASD LCM RESTful Protocols to invoke SO CNFM
note: use of CDA and CDS is a future consideration - out of scope
The selection of the cloud-region (which represents K8S cluster) comes from the SO Service creation request
Post Condition:
SO CNF Manager (SO CNFM) receives requests from the SO BPMN Infra and gets ready to process the requestsAfter the CNF Manager process, SO shall update CNF to AAI
| ONAP Admin Creates Cloud Region(s) and Tenant(s) in AAI - 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 Removed Image Removed | Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3882 |
---|
|
| 2.1 | Task: Create & Configures ASD-based CNF workflows- Create new BPMN workflows for ASD-based CNF workflows
- Design to invoke SO CNF Manager
- Configure SO MacroFlows configurations for invoking ASD-based CNF workflows
| 2.2 | Task: SO API Handler Enhancement - SO API Handler receives a service (or a la carte: make a design decision) request for ASD-based CNF and stores the request information into the Request DB
- Note: SO endpoints could be enhanced for handling ASD-based CNF.
| 2.3 | Task: SO Create Service Instance to AAI - SO shall create service instance to AAI, leveraging existing AAI schema service
| 2.4 | Task: SO BPMN Infra processes for ASD-based VF - SO BPMN Infra decomposes Service into VF Resource(s), and per VF resource, SO BPMN Infra process AS resource handling
- If the VF resource metadata indicates the ASD-based VF (e.g., entity_definition_type='ASD' or 'asd'), SO shall process ASD-based CNF workflows
Image Removed | 2.5 | Enhance Create AS Workflow(s) to launch SO CNFM for Create AS - SO BPMN Infra shall delegate ASD-based CNF orchestration to SO CNFM
Post Condition: - SO CNFM Create AS is invoked and AsInstance object is returned if the operation is successful; otherwise, an error will be returned
| | 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 Added Image Added | Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-38833882 |
---|
|
| 2.6Enhance Instantiate 4 |
|
In BPMN Infra, create the Create AS Workflow(s) to launch SO CNFM for Instantiate 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 LCM RESTful Protocols for SO CNF Manager ) and its swagger file (ASD LCM RESTful Protocols for SO CNF Manager)
- for InstantiateAsRequestCreateASRequest, get:
- asdExtCpdInputParamsasdId
- deploymentItemsasInstanceName
- additionalparamsasInstanceDescription
- As a SO CNFM client, use the following client operations to invoke SO CNFM
Post Condition: - SO CNFM Instantiate Create AS is invoked and AsInstance object is returned if the request is acceptedoperation is successful; otherwise, an error will be returned
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-38843883 |
---|
|
| 2.5 |
|
Enhance Delete Instantiate AS Workflow(s) to launch SO CNFM for Delete 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 by conforming to ASD LCM Restful Protocols (ASD LCM RESTful Protocols for SO CNF Manager ) and its swagger file (ASD LCM RESTful Protocols for SO CNF Manager)
- for Delete ASInstantiateAsRequest, get:
- asInstanceId as a parameterasdExtCpdInputParams
- deploymentItems
- additionalparams
- As a SO CNFM client, use the following client operations to invoke SO CNFM
Post Condition: - SO CNFM Delete Instantiate AS is invoked and the AS instance and associated resource are deletedrequest is accepted
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3886 |
---|
|
Task: SO BPMN Infra Invocation for | 2.6 |
|
Enhance Delete AS Workflow(s) to launch SO CNFM for AS LCMDelete 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 LCM RESTful Protocols for SO CNF Manager ) and its swagger file (ASD LCM RESTful Protocols for SO CNF Manager)
for CreateASRequest, get:asdIdasInstanceNameasInstanceDescription- for InstantiateAsRequest, get:
asdExtCpdInputParamsdeploymentItemsadditionalparams
for TerminateAsRequest, get:terminationTypegracefulTerminationTimeoutaddiontalParams
- for Delete AS, get:
- asInstanceId as a parameter
- As a SO CNFM client, use the following client operations to invoke SO CNFM
Post 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 shall process ASD-based CNF Lifecycle orchestration Pre Condition: Post Condition: - ASD-based CNF is provisioned by SO CNFM
Note: in the initial PoC, ASD external CPDs parameters for the primary network will be used (e.g., loadbalancerIP, externalIPs) to configure the K8s service or ingress controller that the ExtCpd represents Note: ASD Registry, Helm Artifact Registry, Image Artifact Registry will be handled by another Epic, which is defined in Application Package Distribution 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 Post Condition: - Swagger file is ready for SO CNM NBI
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3841 |
---|
|
| 3 | 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: SO CNFM is available | 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 LCM RESTful Protocols for SO CNF Manager)
- Support the following service operations:
- For multiple operator K8S Cluster support, the following operations are supported (stretch goal)
Post Condition: - SO CNFM NBI API Handler is ready to receive SO BPMN Infra requests, with dummy operations
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-38883890 |
---|
|
| 3.12 |
|
Create ASD LCM REST API Swagger Create SO CNFM REST API swagger, based on the ASD LCM Restful API, ASD LCM RESTful Protocols for SO CNF Manager and Swagger file (ASD LCM RESTful Protocols for SO CNF Manager)Note: the swagger file is created and it needs to be refined furtherImplement Create AS Business Logic in SO CNFM NBI Handler to invoke the Create AS workflows(s) Post Condition: - Swagger file is ready for SO CNM NBISO CNFM NBI Handler is able to invoke Create AS workflow(s)
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-38893893 |
---|
|
| 3.2Create 3 |
|
Implement Instantiate AS Business Logic in 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 LCM RESTful Protocols for SO CNF Manager)
- Support the following service operations:
- For multiple operator K8S Cluster support, the following operations are supported:
Note: for the initial PoC, registration and deregistration could be out of scope (stretch goalHandler 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 API Handler is ready to receive SO BPMN Infra requests, with dummy operationsable to invoke Delete AS workflow(s)
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-38903894 |
---|
|
| 3.35 |
|
Create SO CNFM Workflow(s) for Create AS and Instantiate AS- Camunda BPMN workflowService Task(s) will have invoke corresponding Create AS and Instantiate AS service tasksJava-based business logic.
Post Condition: - Workflow(s) for Create AS and Instantiate 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 Delete Instantiate AS - Camunda BPMN workflowInstantiate AS Service Task(s) will have Delete AS service tasksinvoke corresponding Instantiate AS Java-based business logic.
Post Condition: - Workflow(s) for Delete Instantiate AS is ready
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3892 |
---|
|
| Implement Business Logic in SO CNFM NBI Handler to invoke the Create AS & Instance AS workflows(s) | Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3893 |
---|
|
| Implement Business Logic in SO CNFM NBI Handler to invoke Delete AS workflows(s) | 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-38943892 |
---|
|
| 3.8 |
|
SO CNFM Accesses accesses ASD Registry for Getting 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 |
---|
|
| 3.59 |
|
Create SO CNFM Instance Database Management - Create SO CNFM Database tables (not necessarily, RDBMS: make a design design) to store:
- incoming requests
- custom values.yaml files
- Provides Database Access Objects (DAO) for CRUD for SO CNFM
Post Condition: - SO CNFM database is ready and provides services for SO CNFM.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3900 |
---|
|
| 3.7 | 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
Post Condition: K8S resource description is ready for feeding into placementSO 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.6 | 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 used
- SO CNFM shall support the capability to construct custom values file(s), by:
- applying Instance-level input parameter parameter values which came thru Task #3.4
- enhancing helm charts with resolved input parameter values which came thru Task #3.4
- generating new custom values file(s), based on the DeploymentItem parameter values which came thru Task #3.4
- 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 |
---|
|
| - 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-39013899 |
---|
|
| 3.1011 |
|
Create SO CNFM Makes a 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 make a placement decision based on the decision from the Placement component.
- In the initial PoC, a pre-selected K8S cluster (selected by the client) will 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 clusterInstance 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: - SO CNFM database is ready and provides services for SO CNFM.
| Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-38963900 |
---|
|
| 3.12 |
|
SO CNFM Supports Target K8S Clusters RegistrationTransforms Enhanced Helm Charts to K8S Resource Description SO CNFM Provides a List of Registered K8S Clusters - 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 | 3.13 | 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 | 3.14 | Stretch goal |
- To get details about registered clusters, create a GET 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
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 |
---|
|
| 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 |
---|
|
| 3.14 |
|
SO CNFM Supports Target K8S Clusters Registration | 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. | 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 could update AAI, as termination.
Post Condition: - 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
- 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 | 3.15 | 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 enhanced helm chart and custom values file.
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.16 | - AAI database is updated for AS CNF instance (e.g., generic_vnf, vf-module).
- 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 | 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 | 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 | 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 enhanced helm chart and custom values file.
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-39023895 |
---|
|
| 3.17 | 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 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 cluster18 |
|
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).
| SO Client Invokes SO for AS LCM orchestration Jira Legacy |
---|
server | System Jira |
---|
serverId | 4733707d-2057-3a0f-ae5e-4fd8aff50176 |
---|
key | SO-3842 |
---|
|
| 4 | | 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
- Send AS LCM orchestration requests to SO
Note: enhanced SO API could be used for ASD-based CNF.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: SO Client will be able to invoke SO service requests for AS LCM- 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-39033842 |
---|
|
| 4.1 |
|