blob: 2b4593d645e714d36d22076fde2d1c1e0f2209df [file] [log] [blame]
andreasgeissler6642a722019-05-31 12:23:38 +02001.. This work is licensed under a Creative Commons Attribution 4.0
2.. International License. http://creativecommons.org/licenses/by/4.0
ezhil02805182019-01-30 20:34:16 +05303.. Copyright (C) 2019 IBM.
LF Jenkins CId9a74952020-04-07 17:38:10 +00004.. _master_index:
ezhil02805182019-01-30 20:34:16 +05305
andreasgeissler6642a722019-05-31 12:23:38 +02006.. _cds_main-doc:
7
8CONTROLLER DESIGN STUDIO (CDS)
9==============================
ezhil02805182019-01-30 20:34:16 +053010.. toctree::
Ezhilarasi9d6c9c32019-02-06 22:33:59 +053011 :maxdepth: 1
Ezhilarasi9d6c9c32019-02-06 22:33:59 +053012
andreasgeissler6642a722019-05-31 12:23:38 +020013Introduction
14------------
15The system is designed to be self service, which means that users, not just
16programmers, can reconfigure the software system as needed to meet customer
17requirements. To accomplish this goal, the system is built around models that
18provide for real-time changes in how the system operates. Users merely need
19to change a model to change how a service operates.
20Self service is a completely new way of delivering services. It removes the
21dependence on code releases and the delays they cause and puts the control of
22services into the hands of the service providers. They can change a model and
23its parameters and create a new service without writing a single line of code.
24This makes SERVICE PROVIDER(S) more responsive to its customers and able to
25deliver products that more closely match the needs of its customers.
Ezhilarasi4f265472019-04-12 17:26:33 +053026
andreasgeissler6642a722019-05-31 12:23:38 +020027Architecture
28------------
29The Controller Design Studio is composed of two major components:
30 * The GUI (or frontend)
31 * The Run Time (or backend)
Ezhilarasi763d29e2019-04-16 15:45:44 +053032
andreasgeissler6642a722019-05-31 12:23:38 +020033The GUI handles direct user input and allows for displaying both design time
34and run time activities. For design time, it allows for the creation of
35controller blueprint, from selecting the DGs to be included, to incorporating
36the artifact templates, to adding necessary components. For run time, it
37allows the user to direct the system to resolve the unresolved elements of the
38controller blueprint and download the resulting configuration into a VNF.
39At a more basic level, it allows for creation of data dictionaries,
40capabilities catalogs, and controller blueprint, the basic elements that are
41used to generate a configuration. The essential function of the Controller
42Design Studio is to create and populate a controller blueprint, create a
43configuration file from this Controller blueprint, and download this
44configuration file (configlet) to a VNF/PNF.
Ezhilarasi763d29e2019-04-16 15:45:44 +053045
JakobKrieg741fb7c2020-07-21 10:42:45 +020046|cdsArchitectureImage|
andreasgeissler6642a722019-05-31 12:23:38 +020047
Ezhilarasic596ca02019-07-19 19:19:28 +053048
Ezhilarasic596ca02019-07-19 19:19:28 +053049Modeling Concept
Ezhilarasieac7ca42019-07-30 19:01:51 +053050----------------
Ezhilarasic596ca02019-07-19 19:19:28 +053051
52In Dublin release, the CDS community has contributed a framework to automate
53the resolution of resources for instantiation and any config provisioning
54operation, such as day0, day1 or day2 configuration.
55
56The content of the CBA Package is driven from a catalog of reusable data
57dictionary, component and workflow, delivering a reusable and simplified
58self service experience.
59
60TOSCA based JSON formatted model following standard:
61http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html
62
63Most of the TOSCA modeled entity presented in the bellow documentation can
64be found here:
65https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type
66
67Tosca Model Reference:
68
69|image0|
70
71Modeling Concept Links:
Ezhilarasieac7ca42019-07-30 19:01:51 +053072~~~~~~~~~~~~~~~~~~~~~~~
Ezhilarasi763d29e2019-04-16 15:45:44 +053073
Ezhilarasid6e95902019-03-20 21:24:33 +053074.. toctree::
75 :maxdepth: 1
andreasgeissler6642a722019-05-31 12:23:38 +020076
JakobKrieg7c3f3952020-08-04 20:46:50 +020077 modelingconcepts/overview
Ezhilarasic596ca02019-07-19 19:19:28 +053078 microservices/controllerBlueprintStudioProcessorMS
79 microservices/bluePrintsProcessorMS
80 microservices/expression
Ezhilarasif6ca7fb2019-07-15 21:04:53 +053081 microservices/dynamicapi
Ezhilarasic596ca02019-07-19 19:19:28 +053082 microservices/flexibleplugin
andreasgeissler6642a722019-05-31 12:23:38 +020083
Ezhilarasi59a7b382019-04-25 16:10:33 +053084
Ezhilarasic596ca02019-07-19 19:19:28 +053085Design tools
Ezhilarasieac7ca42019-07-30 19:01:51 +053086------------
Ezhilarasic596ca02019-07-19 19:19:28 +053087.. toctree::
88 :maxdepth: 1
89 :glob:
Ezhilarasie95ca982019-03-12 16:48:08 +053090
Ezhilarasic596ca02019-07-19 19:19:28 +053091 CBA/index
92 datadictionary/index
93
Ezhilarasic596ca02019-07-19 19:19:28 +053094Scripts
Ezhilarasic596ca02019-07-19 19:19:28 +053095-------
96
Ezhilarasieac7ca42019-07-30 19:01:51 +053097Library
98~~~~~~~
99
100* NetconfClient
Ezhilarasieac7ca42019-07-30 19:01:51 +0530101
Ezhilarasic596ca02019-07-19 19:19:28 +0530102In order to facilitate NETCONF interaction within scripts, a python NetconfClient binded to our Kotlin implementation is made available. This NetconfClient can be used when using the component-netconf-executor.
103
104The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py
105
Ezhilarasieac7ca42019-07-30 19:01:51 +0530106* ResolutionHelper
Ezhilarasieac7ca42019-07-30 19:01:51 +0530107
andreasgeissler6642a722019-05-31 12:23:38 +0200108When executing a component executor script, designer might want to perform
109resource resolution along with template meshing directly from the script
110itself.
Ezhilarasie95ca982019-03-12 16:48:08 +0530111
Ezhilarasia0b70102019-08-14 23:38:10 +0530112The helper can be found in below link:
113https://github.com/onap/ccsdk-apps/blob/master/components/scripts/python/ccsdk_netconf/common.py
andreasgeissler6642a722019-05-31 12:23:38 +0200114
115.. |image0| image:: media/tosca_model.jpg
116 :width: 7.88889in
117 :height: 4.43750in
118
JakobKrieg741fb7c2020-07-21 10:42:45 +0200119.. |cdsArchitectureImage| image:: media/CDS_architecture_latest.png
120 :scale: 30 %
JakobKriegf47eeee2020-08-17 21:04:35 +0200121
122Developer Guide
123----------
124
125.. toctree::
126 :maxdepth: 1
127
128 developerguide/developer-guide
129
Ezhilarasic596ca02019-07-19 19:19:28 +0530130User Guide
131----------
andreasgeissler6642a722019-05-31 12:23:38 +0200132
Ezhilarasic596ca02019-07-19 19:19:28 +0530133.. toctree::
134 :maxdepth: 1
135
Ezhilarasiaff5fcd2019-08-30 16:56:49 +0530136 installation
137 designtime
Sarah Abouzainah807f3df2020-06-10 10:47:29 +0200138
139CDS Desginer UI
140---------------
141
142.. toctree::
143 :maxdepth: 1
144
145 CDS_Designer_Guide
JakobKriegf47eeee2020-08-17 21:04:35 +0200146
Ezhilarasic596ca02019-07-19 19:19:28 +0530147
148Controller Design Studio Presentation
149-------------------------------------
150
151Details about CDS Architecture and Design detail, Please click the link.
152:download:`CDS_Architecture_Design.pptx`