diff options
Diffstat (limited to 'docs/cba/index.rst')
-rw-r--r-- | docs/cba/index.rst | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/docs/cba/index.rst b/docs/cba/index.rst new file mode 100644 index 000000000..70ed2aef8 --- /dev/null +++ b/docs/cba/index.rst @@ -0,0 +1,125 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +.. _cds_cba-doc: + +Controller Blueprint Archived Designer Tool (CBA) +================================================= +.. toctree:: + :maxdepth: 1 + +Introduction +------------ +The **C**\ ontroller **B**\ lueprint **A**\ rchive 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: + +.. code-block language is required for ReadTheDocs to render code-blocks. Python set as default. + +.. code-block:: python + + ├── 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 +------------ +|image1| + + +Data Flow +--------- +|image2| + + +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: + + 1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) + contains references to the ONAP repositories and OpenDaylight + repositories. + 2. git clone https://(LFID)@gerrit.onap.org/r/a/ccsdk/cds + 3. cd cds ; mvn clean install ; cd .. + 4. Open the cds-ui/client code for development + + +Functional Decomposition +------------------------ +|image3| + +.. |image1| image:: media/CDS_Architecture.jpg + :width: 500pt + +.. |image2| image:: media/CDS_Data_Flow.jpg + :width: 500pt + +.. |image3| image:: media/Functional_Decomposition.jpg + :width: 500pt + |