andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 |
| 2 | .. International License. http://creativecommons.org/licenses/by/4.0 |
ezhil | 0280518 | 2019-01-30 20:34:16 +0530 | [diff] [blame] | 3 | .. Copyright (C) 2019 IBM. |
LF Jenkins CI | d9a7495 | 2020-04-07 17:38:10 +0000 | [diff] [blame] | 4 | .. _master_index: |
ezhil | 0280518 | 2019-01-30 20:34:16 +0530 | [diff] [blame] | 5 | |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 6 | .. _cds_main-doc: |
| 7 | |
| 8 | CONTROLLER DESIGN STUDIO (CDS) |
| 9 | ============================== |
ezhil | 0280518 | 2019-01-30 20:34:16 +0530 | [diff] [blame] | 10 | .. toctree:: |
Ezhilarasi | 9d6c9c3 | 2019-02-06 22:33:59 +0530 | [diff] [blame] | 11 | :maxdepth: 1 |
Ezhilarasi | 9d6c9c3 | 2019-02-06 22:33:59 +0530 | [diff] [blame] | 12 | |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 13 | Introduction |
| 14 | ------------ |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 15 | The system is designed to be self service, which means that users, not just |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 16 | programmers, can reconfigure the software system as needed to meet customer |
| 17 | requirements. To accomplish this goal, the system is built around models that |
| 18 | provide for real-time changes in how the system operates. Users merely need |
| 19 | to change a model to change how a service operates. |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 20 | |
| 21 | Self service is a completely new way of delivering services. It removes the |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 22 | dependence on code releases and the delays they cause and puts the control of |
| 23 | services into the hands of the service providers. They can change a model and |
| 24 | its parameters and create a new service without writing a single line of code. |
| 25 | This makes SERVICE PROVIDER(S) more responsive to its customers and able to |
| 26 | deliver products that more closely match the needs of its customers. |
Ezhilarasi | 4f26547 | 2019-04-12 17:26:33 +0530 | [diff] [blame] | 27 | |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 28 | Architecture |
| 29 | ------------ |
| 30 | The Controller Design Studio is composed of two major components: |
| 31 | * The GUI (or frontend) |
| 32 | * The Run Time (or backend) |
Ezhilarasi | 763d29e | 2019-04-16 15:45:44 +0530 | [diff] [blame] | 33 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 34 | The GUI handles direct user input and allows for displaying both design time |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 35 | and run time activities. For design time, it allows for the creation of |
| 36 | controller blueprint, from selecting the DGs to be included, to incorporating |
| 37 | the artifact templates, to adding necessary components. For run time, it |
| 38 | allows the user to direct the system to resolve the unresolved elements of the |
| 39 | controller blueprint and download the resulting configuration into a VNF. |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 40 | |
| 41 | At a more basic level, it allows for creation of data dictionaries, |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 42 | capabilities catalogs, and controller blueprint, the basic elements that are |
| 43 | used to generate a configuration. The essential function of the Controller |
| 44 | Design Studio is to create and populate a controller blueprint, create a |
| 45 | configuration file from this Controller blueprint, and download this |
| 46 | configuration file (configlet) to a VNF/PNF. |
Ezhilarasi | 763d29e | 2019-04-16 15:45:44 +0530 | [diff] [blame] | 47 | |
JakobKrieg | 741fb7c | 2020-07-21 10:42:45 +0200 | [diff] [blame] | 48 | |cdsArchitectureImage| |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 49 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 50 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 51 | Modeling Concept |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 52 | ---------------- |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 53 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 54 | In Dublin release, the CDS community has contributed a framework to automate |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 55 | the resolution of resources for instantiation and any config provisioning |
| 56 | operation, such as day0, day1 or day2 configuration. |
| 57 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 58 | The content of the CBA Package is driven from a catalog of reusable data |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 59 | dictionary, component and workflow, delivering a reusable and simplified |
| 60 | self service experience. |
| 61 | |
| 62 | TOSCA based JSON formatted model following standard: |
| 63 | http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html |
| 64 | |
| 65 | Most of the TOSCA modeled entity presented in the bellow documentation can |
| 66 | be found here: |
| 67 | https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type |
| 68 | |
| 69 | Tosca Model Reference: |
| 70 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 71 | |toscaModel| |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 72 | |
| 73 | Modeling Concept Links: |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 74 | ~~~~~~~~~~~~~~~~~~~~~~~ |
Ezhilarasi | 763d29e | 2019-04-16 15:45:44 +0530 | [diff] [blame] | 75 | |
Ezhilarasi | d6e9590 | 2019-03-20 21:24:33 +0530 | [diff] [blame] | 76 | .. toctree:: |
| 77 | :maxdepth: 1 |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 78 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 79 | modelingconcepts/index |
| 80 | microservices/controllerBlueprintMS |
| 81 | microservices/blueprintsProcessorMS |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 82 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 83 | Scripts |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 84 | ------- |
| 85 | |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 86 | Library |
| 87 | ~~~~~~~ |
| 88 | |
| 89 | * NetconfClient |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 90 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 91 | 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. |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 92 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 93 | The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 94 | |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 95 | * ResolutionHelper |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 96 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 97 | When executing a component executor script, designer might want to perform |
| 98 | resource resolution along with template meshing directly from the script |
| 99 | itself. |
Ezhilarasi | e95ca98 | 2019-03-12 16:48:08 +0530 | [diff] [blame] | 100 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 101 | The helper can be found in below link: |
| 102 | https://github.com/onap/ccsdk-apps/blob/master/components/scripts/python/ccsdk_netconf/common.py |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 103 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 104 | .. |toscaModel| image:: media/tosca_model.jpg |
| 105 | :width: 500pt |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 106 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 107 | .. |cdsArchitectureImage| image:: media/CDS_architecture.jpg |
| 108 | :width: 500pt |
JakobKrieg | f47eeee | 2020-08-17 21:04:35 +0200 | [diff] [blame] | 109 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 110 | User Guide |
| 111 | ---------- |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 112 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 113 | .. toctree:: |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 114 | :maxdepth: 3 |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 115 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 116 | userguide/developer-guide |
| 117 | userguide/installation |
| 118 | userguide/designtime |
Sarah Abouzainah | 807f3df | 2020-06-10 10:47:29 +0200 | [diff] [blame] | 119 | |
JakobKrieg | ce03a1f | 2020-09-09 18:31:25 +0200 | [diff] [blame] | 120 | Use Cases |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 121 | --------- |
JakobKrieg | ce03a1f | 2020-09-09 18:31:25 +0200 | [diff] [blame] | 122 | |
| 123 | .. toctree:: |
| 124 | :maxdepth: 2 |
| 125 | |
| 126 | usecases/use-cases |
| 127 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 128 | CDS Designer UI |
Sarah Abouzainah | 807f3df | 2020-06-10 10:47:29 +0200 | [diff] [blame] | 129 | --------------- |
| 130 | |
| 131 | .. toctree:: |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 132 | :maxdepth: 2 |
Sarah Abouzainah | 807f3df | 2020-06-10 10:47:29 +0200 | [diff] [blame] | 133 | |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 134 | ui/designer |
JakobKrieg | f47eeee | 2020-08-17 21:04:35 +0200 | [diff] [blame] | 135 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 136 | |
| 137 | Controller Design Studio Presentation |
| 138 | ------------------------------------- |
| 139 | |
| 140 | Details about CDS Architecture and Design detail, Please click the link. |
Singal, Kapil (ks220y) | f1aafc4 | 2020-09-24 12:47:56 -0400 | [diff] [blame] | 141 | :download:`CDS_Architecture_Design <media/CDS_Architecture_Design.pptx>` |