...
The software should be integratable into SDC
The software should be possible to run standalone
The software will be developed as a new module in policy-gui
Follow the ONAP style guide and new methodology for client development
Use the policy-distribution component for commissioning from SDC
1 Introduction
This page provides details on what is the current support for designing ControlLoops in SDC, and the changes proposed to work with Tosca Controlloop runtime components in CLAMP.
It briefly states the procedure to design a Control Loop starting from service creation, adding the required ONAP component artifacts, policy and VF in the composition phase of SDC and finally distributing it to the CLAMP for further process. SDC provides an interface for distributing the modeled services to the run time components.
SDC receives a VNF package, this package can be HEAT based or Tosca based.
SDC needs to store the information in its internal DB.
2 Terminology
This section describes the terminology used in the system.
...
2.1 SDC Terminology
TOSCA Service template: These templates are used to specify the topology and orchestration of services. SDC uses Tosca templates and the Tosca spec-defined CSAR package to distribute the definition of new services.
SDC: Service Design and Creation is the ONAP visual modeling and design tool. It provides a graphical interface for onboarding/designing resources (such as VNFs, PNFs, CNFs) and designing services composed of such resources that can be distributed to other ONAP components
...
SDC workflow: CSAR package for the designed service which is needed to instantiate the service. After the service is designed in UI, the CSAR is stored in SDC catalog. Distribution will send a notification over DMaap, and ONAP components that are registered and interested can callback to SDC catalog for the CSAR for a particular service
...
SDC distribution: SDC communicates with run time components using DMaaP. Once a service is certified, a user can choose to distribute the service. On distribution SDC sends a notification to a predefined Dmaap topic.
All components can subscribe to this topic to receive notifications once they are send.
2.2 Control loop Terminology
Control Loop Type: A definition of a Control Loop in the TOSCA language. This definition describes a certain type of a control loop. The life cycle of instances of a Control Loop Type are managed by CLAMP.
...
CLAMP Control Loop Runtime: The CLAMP server that holds Control Loop Type definitions and manages the life cycle of Control Loop Instances and their Control Loop Elements in cooperation with participants.
...
2.
...
3 SDC Architecture
...
3 Controlloop Design
The instructions below will enable to design a Control Loop. There are different phases to the Closed Loop (CL) design:
Step 1: Design a closed loop template and associate it to a Service, the template represents the theoretical flow of the CL. (DCAE-DS/SDC)
Step 2: Generate a deployment artifact that can be ingested by the DCAE, Policy Framework or any other ONAP component
Step 3: Distribute the control loop to CLAMP, the csar is distributed to CLAMP over Dmaap
Step 4: Submit the closed loop, meaning provision Policy/DCAE with closed loop data. (CLAMP)
Step 5: Deploy the closed loop, it initiates the deployment of the micro service on ONAP component side (CLAMP)
3.1 Import and Onboard
Different Network functions are imported and created in to SDC dashboard. This can stand as an example for creating ControlLoopElements
SDC provides a graphical interface for onboarding/designing resources (such as VNFs, PNFs, CNFs) and designing services composed of such resources
...
3.2 Add service
Add a service with a service name and any suitable category. This can stand as an example to create ControlLoop
Onboard the resources and service, This will ensure service and resources are stored in the catalog.
...
3.3 Composition of ControlloopType
Composition of ControlLoopType in to service that can be distributed over Dmaap.
Existing SDC logic for adding dependencies, links, connection points between resources in a service can be re-used with no effort for composition
...
3.4 Change properties and values
Properties assignment of resources and service can be used without any change.
Each property can maintain a default value or marked as "declared at input" for setting values at a later stage
...
3.5 Download designed CSAR or template (if desired)
Once designed, a Tosca template or CSAR (Tosca template + any artifacts) can be downloaded
...
3.6 Distribute a service with Controlloop
In this step, the user distributes the models to the ONAP components, like DCAE, Policy subsystems etc
After a model is uploaded to a VNF, the status icon of the VNF changes to from “Design” to “Activated” in the ONAP Portal GUI.
- The ONAP distribution model is based on a publisher subscriber model.
- SDC defines two topics in Dmaap, one for publishing notification and one for reading notification status events.
- Using the distribution client, a component can easily subscribe to receive notifications regarding services distributed from SDC.
- The distribution client allows the applications to define what type of artifacts they want to download from a service.
- The component can choose to receive specific artifact types or to receive the whole CSAR package.
- Once a distribution client receives a notification, it will access an SDC instance defined in it, to pull the artifacts.
- The retrieved artifacts will be download from SDC using REST API.
- Once the artifacts are downloaded the application posts a status regarding the download status.
- Since the SDC publishes notifications we need the status to show the state of the distribution across the different applications.
From the SDC HOME page, click CATALOG and search for the service (it will be in Waiting For Distribution state)
Select the service that is Ready for Distribution, click Distribute (top right corner)
To Monitor Distribution, click on Distribution on the left pane
3.7 Verify CLAMP GUI for design template
At this point we can open the CLAMP GUI and verify that the DCAE microservice design template is in place as shown below.
4 Changes proposed in SDC
Note: Some of the changes proposed below might already be supported in SDC and may not be needed. Verification of such can be part of POC and actual changes can be considered.
4.1 Solution Proposal 1: Use of existing SDC controlloop design to produce Tosca service template
4.1.1 Verification activity with SDC and current CLAMP runtime
A verification activity is needed with current SDC controlloop support, and to ensure the ToscaServiceTemplate artifact produced with current SDC is complaint to CLAMP runtime.
Observation is that, it should work as it is.
- Predicted minor design changes listed in below 4.1.2, 4.1.3, 4.1.4 sections
- Verify Design, Composition, Properties, Distribution and Deployment of ControlLoop with current demo usecase
- Note: This will not satisfy below 2 requirements, as it works as an integral component of SDC
- The software should be possible to run standalone
- The software will be developed as a new module in policy-gui
4.1.2 Model changes and new models for Controlloop types
Include model changes (if any) for defining properties of a Participant, ControlLoopElement and ControlLoop
Example: Multiple elements in ControlLoopElementDefinition properties
topology_template:
...
node_templates:
...
org.onap.domain.pmsh.PMSHControlLoopDefinition:
...
properties:
...
elements:
- name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
version: 1.2.3
- name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
version: 1.2.3
- name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
version: 1.2.3
4.1.3
...
New category as control loop element
New category as controlLoopElement may be introduced using which a resource can be created with category name as controlloopElement
...
4.1.
...
4 New category as control loop
New category as controlloop may be introduced using which a resource can be created with category name as controlLoop