summaryrefslogtreecommitdiffstats
path: root/docs/CBA/index.rst
blob: b9e31119c594a740ac46bfc7f9f8461365c478d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
.. 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