Versions Compared

Key

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

Table of Contents

...

User StoryAffected ComponentDescriptionJIRAPriority
SO shall get the ASD-based CNF package from SDC and store its metadata to SO Catalog DB

SDC 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
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-3839

1
  • Task: 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
  • Task: 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
For ASD-based CNF provisioning, SO shall process model info and decide flows

API Handler,

RequestDB Adapter,

RequestDB,

SO BPMN Infra, 

AAI

SO shall process ASD model info and decide ASD provisioning flows

Pre Condition:

  • SO CNFM is running and ready to receive requests
  • SO CatalogDB contains ASD Model metadata
    • Resource VF TOSCA.metadata "ASD" entry_definition_type
  • SO Client provides parameters based on the ASD lifecycleParameter list
    • Existing SO requests will be used to invoke SO
    • The SO Request should include the parameters required for the ASD LCM Restful Protocols will be used for request/response messages and protocols (. See ASD LCM RESTful Protocols for SO CNF Manager ) and its swagger file ( 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
      for SO CNF Manager)
      • 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 processes gets ready to process the requests
  • After the CNF Manager process, SO shall update CNF to AAI

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-3840

2Task: 
  • Create & Configures ASD-based CNF workflows
    • Create new BPMN workflows for ASD-based CNF workflows
      • Design to invoke SO CNF Manager
    • Configure SO MacroFlows for ASD-based CNF workflows
2.1
  • 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


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 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: expect no change
2.2
    • or minimum changes

2.3

Task:

  • SO shall create service instance to AAI, leveraging existing AAI schema service
    • expect no code impact

2.4

Task: 

  • 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 Added


2.35

Task:

  • SO shall create service instance to AAI
    • note: leverage AAI schema service; no code impact
2.4

Task:

  • SO shall delegate ASD-based CNF orchestration to SO CNFM
    • Pass input parameters including ASD reference Id, LifecycleParameter, etc.
    • note: until SO CNFM is ready, use no-opt operations as a place holder
2.5
2.6
SO CNFM shall process ASD-based CNF Lifecycle orchestration





















SO CNFM,

ASD Repository,

Helm Artifact Repository,

OOF,

AAI, 

SDNC Adapter,

SDNC,

CDS,

CNF Adapter


































SO CNFM shall process ASD-based CNF Lifecycle orchestration

Pre Condition:

  • ASD and App onboarding package is packages are stored in the Catalog RepositoryRegistry
  • Helm Chart(s) are stored in the Helm Artifact RepositoryRegistry
  • Image(s) are stored in the Image Registry
  • Target K8S Cluster(s) are ready
  • Cloud-Region and Tenants are defined in AAI
  • AAI shall support CRUDQ of ASD-based CNF Resources

    • Leverage existing AAI APIs
    • Leverage AAI K8S Resource schema which was defined for CNFO
      • Take a look at the CNFO logic how to interface with AAI
    • Investigate any new AAI APIs for ASD-based CNF Resources (TBDfuture consideration)

Post Condition:

  • ASD-based CNF is provisioned by SO CNFM

Note: in the initial PoC, ASD external CPDs will not be handled (TBD)

Note: ASD RepositoryRegistry, Helm Artifact RepositoryRegistry, Image Artifact Repository Registry will be handled by another Epic, which is defined in Application Package Distribution 

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-3841

3

Task: Create SO CNFM and make it available in ONAP

Create SO CNFM REST API swagger, based on the ASD LCM Restful API,
  • Create SO CNFM as an SO sub-component, with NBI, Business Logic and SouthBound Plugin for 1) Helm Client or 2) CNF Adapter
  • Make SO CNFM POD is deployable in OOM
  • Register SO CNFM POD to AAI automatically
3.1
  • or 2) CNF Adapter
  • Make SO CNFM POD is deployable in OOM
  • Register SO CNFM POD to AAI automatically

3.1
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)
3.2

Task: Support for SO CNFM NBI API Handler

and Swagger file ()
3.2

Task: Support for SO CNFM NBI API Handler


3.3

Task:

  • SO CNFM shall support the capability to process input parameters from SO, and use the deployment parameters from ASD for the CNF deployment. Those deployment parameter values shall correspond to the parameters defined in the "lifecycleParameters" section(s) of the ASD.

3.4

Task:

  • SO CNFM shall communicate with the ASD Repository to get ASD (descriptor) and artifacts from the ASD repository Manager.

3.5

Task:

  • SO CNFM shall decompose ASD and get the associated DeploymentItems list
    • Get HelmChart references from the DeploymentItems
    • Get ASD from the Repository
      • GET /api/asds/<name> (TBD)

3.6

Task:

  • By leveraging the obtained HelmChart references, SO CNFM shall get associated Helm Charts from the Helm Repository Manager.
    • GET /api/charts/<name>/<version> 

3.7

Task: Create SO CNFM Instance Database Management

  • Create SO CNFM Database tables
  • Provides Database Access Objects (DAO) for CRUD for SO CNFM

3.8

Task:

  • SO CNFM shall support the capability to construct a values file from instance specific parameter values from SO and merge the values with default values from ASD Helm Chart values.
  • SO CNFM shall store the generated values file  for an instance to SO CNFM database

3.9

Task:

  • SO CNFM shall transform ASD cloud artifacts with parameters to K8S resource description (e.g., helm template or helm install --dry-run)

3.10

Task:

  • SO CNFM shall get placement information by passing K8 resources + ASD' + additional data to the Placement component such as OOF.
    • Note: Use of OOF could be out-of-PoC-Scope (TBD)
    • for PoC, it is allowed to choose predefined K8S Clusters

3.11

Task:

  • SO CNFM shall make a placement decision based on the decision from the Placement component.

3.12

Task:

  • Per DeploymentItem, SO CNFM shall send (with cluster id, parameter, cloud artifacts) to the SO CNF Adapter for the connection to K8S plugin
    • Support Helm Template / Dry-run, Helm Install, Helm Uninstall and Helm Upgrade 
    • SO CNF Adapter APIs are being studied. 

3.13

Task:

  • SO CNFM shall update the CNF instance to AAI, by leveraging AAI APIs

3.14

SO Client shall send the A La Carte Request for ASD-based CNF orchestration

(note: E2E support is out of PoC scope)

SO Client,

SO,

SO BPMN,

CNFM

CNF Adapter

SO Client shall send the A La Carte Request for ASD-based CNF orchestration

Pre Condition: 

  • SO, CNFM and CNFM Adapter are ready and running
  • AAI and SDNC are ready and running

Post Condition:

  • CNF Orchestration request is processed and CNF is deployed in K8S

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySO-3842

4

Task:

  • Provide CNF instance input parameters, based on the lifecycleParameters from the ASD DeploymentItem
  • Provide asdExtCpd inputParamMappings for CNF deployment 
    • it is out of PoC scope

4.1

Task:

  • Use of CDS for instance parameter assignment is out of PoC scope (TBD)

4.2?

...