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