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 | ------------ |
| 15 | The system is designed to be self service, which means that users, not just |
| 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. |
| 20 | Self service is a completely new way of delivering services. It removes the |
| 21 | dependence on code releases and the delays they cause and puts the control of |
| 22 | services into the hands of the service providers. They can change a model and |
| 23 | its parameters and create a new service without writing a single line of code. |
| 24 | This makes SERVICE PROVIDER(S) more responsive to its customers and able to |
| 25 | deliver products that more closely match the needs of its customers. |
Ezhilarasi | 4f26547 | 2019-04-12 17:26:33 +0530 | [diff] [blame] | 26 | |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 27 | Architecture |
| 28 | ------------ |
| 29 | The Controller Design Studio is composed of two major components: |
| 30 | * The GUI (or frontend) |
| 31 | * The Run Time (or backend) |
Ezhilarasi | 763d29e | 2019-04-16 15:45:44 +0530 | [diff] [blame] | 32 | |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 33 | The GUI handles direct user input and allows for displaying both design time |
| 34 | and run time activities. For design time, it allows for the creation of |
| 35 | controller blueprint, from selecting the DGs to be included, to incorporating |
| 36 | the artifact templates, to adding necessary components. For run time, it |
| 37 | allows the user to direct the system to resolve the unresolved elements of the |
| 38 | controller blueprint and download the resulting configuration into a VNF. |
| 39 | At a more basic level, it allows for creation of data dictionaries, |
| 40 | capabilities catalogs, and controller blueprint, the basic elements that are |
| 41 | used to generate a configuration. The essential function of the Controller |
| 42 | Design Studio is to create and populate a controller blueprint, create a |
| 43 | configuration file from this Controller blueprint, and download this |
| 44 | configuration file (configlet) to a VNF/PNF. |
Ezhilarasi | 763d29e | 2019-04-16 15:45:44 +0530 | [diff] [blame] | 45 | |
JakobKrieg | 741fb7c | 2020-07-21 10:42:45 +0200 | [diff] [blame] | 46 | |cdsArchitectureImage| |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 47 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 48 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 49 | Modeling Concept |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 50 | ---------------- |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 51 | |
| 52 | In Dublin release, the CDS community has contributed a framework to automate |
| 53 | the resolution of resources for instantiation and any config provisioning |
| 54 | operation, such as day0, day1 or day2 configuration. |
| 55 | |
| 56 | The content of the CBA Package is driven from a catalog of reusable data |
| 57 | dictionary, component and workflow, delivering a reusable and simplified |
| 58 | self service experience. |
| 59 | |
| 60 | TOSCA based JSON formatted model following standard: |
| 61 | http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html |
| 62 | |
| 63 | Most of the TOSCA modeled entity presented in the bellow documentation can |
| 64 | be found here: |
| 65 | https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type |
| 66 | |
| 67 | Tosca Model Reference: |
| 68 | |
| 69 | |image0| |
| 70 | |
| 71 | Modeling Concept Links: |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 72 | ~~~~~~~~~~~~~~~~~~~~~~~ |
Ezhilarasi | 763d29e | 2019-04-16 15:45:44 +0530 | [diff] [blame] | 73 | |
Ezhilarasi | d6e9590 | 2019-03-20 21:24:33 +0530 | [diff] [blame] | 74 | .. toctree:: |
| 75 | :maxdepth: 1 |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 76 | |
JakobKrieg | 7c3f395 | 2020-08-04 20:46:50 +0200 | [diff] [blame] | 77 | modelingconcepts/overview |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 78 | microservices/controllerBlueprintStudioProcessorMS |
| 79 | microservices/bluePrintsProcessorMS |
| 80 | microservices/expression |
Ezhilarasi | f6ca7fb | 2019-07-15 21:04:53 +0530 | [diff] [blame] | 81 | microservices/dynamicapi |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 82 | microservices/flexibleplugin |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 83 | |
Ezhilarasi | 59a7b38 | 2019-04-25 16:10:33 +0530 | [diff] [blame] | 84 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 85 | Design tools |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 86 | ------------ |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 87 | .. toctree:: |
| 88 | :maxdepth: 1 |
| 89 | :glob: |
Ezhilarasi | e95ca98 | 2019-03-12 16:48:08 +0530 | [diff] [blame] | 90 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 91 | CBA/index |
| 92 | datadictionary/index |
| 93 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 94 | Scripts |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 95 | ------- |
| 96 | |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 97 | Library |
| 98 | ~~~~~~~ |
| 99 | |
| 100 | * NetconfClient |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 101 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 102 | 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. |
| 103 | |
| 104 | The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py |
| 105 | |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 106 | * ResolutionHelper |
Ezhilarasi | eac7ca4 | 2019-07-30 19:01:51 +0530 | [diff] [blame] | 107 | |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 108 | When executing a component executor script, designer might want to perform |
| 109 | resource resolution along with template meshing directly from the script |
| 110 | itself. |
Ezhilarasi | e95ca98 | 2019-03-12 16:48:08 +0530 | [diff] [blame] | 111 | |
Ezhilarasi | a0b7010 | 2019-08-14 23:38:10 +0530 | [diff] [blame] | 112 | The helper can be found in below link: |
| 113 | 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] | 114 | |
| 115 | .. |image0| image:: media/tosca_model.jpg |
| 116 | :width: 7.88889in |
| 117 | :height: 4.43750in |
| 118 | |
JakobKrieg | 741fb7c | 2020-07-21 10:42:45 +0200 | [diff] [blame] | 119 | .. |cdsArchitectureImage| image:: media/CDS_architecture_latest.png |
| 120 | :scale: 30 % |
JakobKrieg | f47eeee | 2020-08-17 21:04:35 +0200 | [diff] [blame] | 121 | |
| 122 | Developer Guide |
| 123 | ---------- |
| 124 | |
| 125 | .. toctree:: |
JakobKrieg | ce03a1f | 2020-09-09 18:31:25 +0200 | [diff] [blame^] | 126 | :maxdepth: 2 |
JakobKrieg | f47eeee | 2020-08-17 21:04:35 +0200 | [diff] [blame] | 127 | |
| 128 | developerguide/developer-guide |
| 129 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 130 | User Guide |
| 131 | ---------- |
andreasgeissler | 6642a72 | 2019-05-31 12:23:38 +0200 | [diff] [blame] | 132 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 133 | .. toctree:: |
| 134 | :maxdepth: 1 |
| 135 | |
Ezhilarasi | aff5fcd | 2019-08-30 16:56:49 +0530 | [diff] [blame] | 136 | installation |
| 137 | designtime |
Sarah Abouzainah | 807f3df | 2020-06-10 10:47:29 +0200 | [diff] [blame] | 138 | |
JakobKrieg | ce03a1f | 2020-09-09 18:31:25 +0200 | [diff] [blame^] | 139 | Use Cases |
| 140 | ---------- |
| 141 | |
| 142 | .. toctree:: |
| 143 | :maxdepth: 2 |
| 144 | |
| 145 | usecases/use-cases |
| 146 | |
Sarah Abouzainah | 807f3df | 2020-06-10 10:47:29 +0200 | [diff] [blame] | 147 | CDS Desginer UI |
| 148 | --------------- |
| 149 | |
| 150 | .. toctree:: |
| 151 | :maxdepth: 1 |
| 152 | |
| 153 | CDS_Designer_Guide |
JakobKrieg | f47eeee | 2020-08-17 21:04:35 +0200 | [diff] [blame] | 154 | |
Ezhilarasi | c596ca0 | 2019-07-19 19:19:28 +0530 | [diff] [blame] | 155 | |
| 156 | Controller Design Studio Presentation |
| 157 | ------------------------------------- |
| 158 | |
| 159 | Details about CDS Architecture and Design detail, Please click the link. |
| 160 | :download:`CDS_Architecture_Design.pptx` |