summaryrefslogtreecommitdiffstats
path: root/docs/cba/index.rst
blob: 70ed2aef83f38002b01ccc15ce1d7b9c3f53ddb8 (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
123
124
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