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
|