Controller Blueprint Archived Designer Tool (CBA)
Introduction
The Controller Blueprint Archive is the overall service design, fully model-driven, intent based package needed for SELF SERVICE provisioning and configuration management automation.
The CBA is .zip file, comprised of the following folder structure, the files may vary:
├── Definitions
│ ├── blueprint.json Overall TOSCA service template (workflow + node_template)
│ ├── artifact_types.json (generated by enrichment)
│ ├── data_types.json (generated by enrichment)
│ ├── policy_types.json (generated by enrichment)
│ ├── node_types.json (generated by enrichment)
│ ├── relationship_types.json (generated by enrichment)
│ ├── resources_definition_types.json (generated by enrichment, based on Data Dictionaries)
│ └── *-mapping.json One per Template
│
├── Environments Contains *.properties files as required by the service
│
├── Plans Contains Directed Graph
│
├── Tests Contains uat.yaml file for testing cba actions within a cba package
│
├── Scripts Contains scripts
│ ├── python Python scripts
│ └── kotlin Kotlin scripts
│
├── TOSCA-Metadata
│ └── TOSCA.meta Meta-data of overall package
│
└── Templates Contains combination of mapping and template
To process a CBA for any service we need to enrich it first. This will gather all the node- type, data-type, artifact-type, data-dictionary definitions provided in the blueprint.json.
Architecture
Data Flow
Installation
Building client html and js files
FROM alpine:3.8 as builder
RUN apk add –no-cache npm
WORKDIR /opt/cds-ui/client/
COPY client/package.json /opt/cds-ui/client/
RUN npm install
COPY client /opt/cds-ui/client/
RUN npm run build
Building and creating server
FROM alpine:3.8
WORKDIR /opt/cds-ui/
RUN apk add –no-cache npm
COPY server/package.json /opt/cds-ui/
RUN npm install
COPY server /opt/cds-ui/
COPY –from=builder /opt/cds-ui/server/public /opt/cds-ui/public
RUN npm run build
EXPOSE 3000
CMD [ “npm”, “start” ]
Development
Pre-requiste
Visual Studio code editor
Git bash
Node.js & npm
loopback 4 cl
Steps
To compile CDS code:
Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories.
cd cds ; mvn clean install ; cd ..
Open the cds-ui/client code for development