aboutsummaryrefslogtreecommitdiffstats
path: root/docs/index.rst
blob: 9e226e537f45ae613cba8ac8b9e0a4e546397047 (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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2019 IBM.
.. _master_index:

.. _cds_main-doc:

CONTROLLER DESIGN STUDIO (CDS)
==============================
.. toctree::
   :maxdepth: 1

Introduction
------------

The system is designed to be self service, which means that users, not just
programmers, can reconfigure the software system as needed to meet customer
requirements. To accomplish this goal, the system is built around models that
provide for real-time changes in how the system operates.  Users merely need
to change a model to change how a service operates.

Self service is a completely new way of delivering services.  It removes the
dependence on code releases and the delays they cause and puts the control of
services into the hands of the service providers.  They can change a model and
its parameters and create a new service without writing a single line of code.
This makes SERVICE PROVIDER(S) more responsive to its customers and able to
deliver products that more closely match the needs of its customers.

Architecture
------------

The Controller Design Studio is composed of two major components:
   * The GUI (or frontend)
   * The Run Time (or backend)

The GUI handles direct user input and allows for displaying both design time
and run time activities. For design time, it allows for the creation of
controller blueprint, from selecting the DGs to be included, to incorporating
the artifact templates, to adding necessary components.  For run time, it
allows the user to direct the system to resolve the unresolved elements of the
controller blueprint and download the resulting configuration into a VNF.

At a more basic level, it allows for creation of data dictionaries,
capabilities catalogs, and controller blueprint, the basic elements that are
used to generate a configuration. The essential function of the Controller
Design Studio is to create and populate a controller blueprint, create a
configuration file from this Controller blueprint, and download this
configuration file (configlet) to a VNF/PNF.

|cdsArchitectureImage|


Modeling Concept
----------------

In Dublin release, the CDS community has contributed a framework to automate
the resolution of resources for instantiation and any config provisioning
operation, such as day0, day1 or day2 configuration.

The content of the CBA Package is driven from a catalog of reusable data
dictionary, component and workflow, delivering a reusable and simplified
self service experience.

TOSCA based JSON formatted model following standard:
http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html

Most of the TOSCA modeled entity presented in the bellow documentation can
be found here:
https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type

Tosca Model Reference:

|toscaModel|

Modeling Concept Links:
~~~~~~~~~~~~~~~~~~~~~~~

.. toctree::
   :maxdepth: 1

   modelingconcepts/index

Scripts
-------

Library
~~~~~~~

* NetconfClient

    In 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.

    The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py

* ResolutionHelper

    When executing a component executor script, designer might want to perform
    resource resolution along with template meshing directly from the script
    itself.

    The helper can be found in below link:
    https://github.com/onap/ccsdk-apps/blob/master/components/scripts/python/ccsdk_netconf/common.py

.. |toscaModel| image:: media/tosca_model.jpg
   :width: 500pt

.. |cdsArchitectureImage| image:: media/CDS_architecture.jpg
   :width: 500pt

User Guides
------------

.. toctree::
   :maxdepth: 3

   userguides/developer-guide/index
   userguides/installation
   userguides/design-time-guide/designtime

Use Cases
---------

.. toctree::
   :maxdepth: 2

   usecases/use-cases

CDS Designer UI
---------------

.. toctree::
   :maxdepth: 2

   ui/designer-guide
   ui/hello-world-resource-resolution-cba
   ui/hello-world-script-executor-cba.rst


Offered APIs
----------------------------------

.. toctree::
   :maxdepth: 3

   api-reference/index


Controller Design Studio Presentation
-------------------------------------

Details about CDS Architecture and Design detail, Please click the link.
:download:`CDS_Architecture_Design <media/CDS_Architecture_Design.pptx>`