--- /dev/null
+.. This work is licensed under a Creative Commons Attribution 4.0
+.. International License. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2019 IBM.
+
+
+The **C**\ ontroller **B**\ lueprint **A**\ rchive is the overall service design, fully model-driven, intent based
+**package** needed for SELF SERVICE provisioning and configuration management automation.
+
+The CBA is **.zip** file, comprised of the following folder structure, the files may vary:
+
+.. code-block language is required for ReadTheDocs to render code-blocks. Python set as default.
+
+.. code-block:: python
+
+ ├── Definitions
+ │ ├── blueprint.json Overall TOSCA service template (workflow + node_template)
+ │ ├── artifact_types.json (generated by enrichment)
+ │ ├── data_types.json (generated by enrichment)
+ │ ├── policy_types.json (generated by enrichment)
+ │ ├── node_types.json (generated by enrichment)
+ │ ├── relationship_types.json (generated by enrichment)
+ │ ├── resources_definition_types.json (generated by enrichment, based on Data Dictionaries)
+ │ └── *-mapping.json One per Template
+ │
+ ├── Environments Contains *.properties files as required by the service
+ │
+ ├── Plans Contains Directed Graph
+ │
+ ├── Tests Contains uat.yaml file for testing cba actions within a cba package
+ │
+ ├── Scripts Contains scripts
+ │ ├── python Python scripts
+ │ └── kotlin Kotlin scripts
+ │
+ ├── TOSCA-Metadata
+ │ └── TOSCA.meta Meta-data of overall package
+ │
+ └── Templates Contains combination of mapping and template
+
+To process a CBA for any service we need to enrich it first. This will gather all the node- type, data-type,
+artifact-type, data-dictionary definitions provided in the blueprint.json.
Introduction
------------
-The **C**\ ontroller **B**\ lueprint **A**\ rchive is the overall service design, fully model-driven, intent based
-**package** needed for SELF SERVICE provisioning and configuration management automation.
-
-The CBA is **.zip** file, comprised of the following folder structure, the files may vary:
-
-.. code-block language is required for ReadTheDocs to render code-blocks. Python set as default.
-
-.. code-block:: python
-
- ├── Definitions
- │ ├── blueprint.json Overall TOSCA service template (workflow + node_template)
- │ ├── artifact_types.json (generated by enrichment)
- │ ├── data_types.json (generated by enrichment)
- │ ├── policy_types.json (generated by enrichment)
- │ ├── node_types.json (generated by enrichment)
- │ ├── relationship_types.json (generated by enrichment)
- │ ├── resources_definition_types.json (generated by enrichment, based on Data Dictionaries)
- │ └── *-mapping.json One per Template
- │
- ├── Environments Contains *.properties files as required by the service
- │
- ├── Plans Contains Directed Graph
- │
- ├── Tests Contains uat.yaml file for testing cba actions within a cba package
- │
- ├── Scripts Contains scripts
- │ ├── python Python scripts
- │ └── kotlin Kotlin scripts
- │
- ├── TOSCA-Metadata
- │ └── TOSCA.meta Meta-data of overall package
- │
- └── Templates Contains combination of mapping and template
-
-To process a CBA for any service we need to enrich it first. This will gather all the node- type, data-type,
-artifact-type, data-dictionary definitions provided in the blueprint.json.
+.. include:: cba-description.rst
Architecture
------------
Introduction
------------
- The system is designed to be self service, which means that users, not just
+
+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
+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.
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
+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,
+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
Modeling Concept
----------------
- In Dublin release, the CDS community has contributed a framework to automate
+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
+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.
.. |cdsArchitectureImage| image:: media/CDS_architecture.jpg
:width: 500pt
-User Guide
-----------
+User Guides
+------------
.. toctree::
:maxdepth: 3
- userguide/developer-guide
- userguide/installation
- userguide/designtime
+ userguides/developer-guide/index
+ userguides/installation
+ userguides/design-time-guide/designtime
+ userguides/resourceassignment
Use Cases
---------
Controller Blueprint Archive (.cba)
-----------------------------------
-The **C**\ ontroller **B**\ lueprint **A**\ rchive is the overall service design, fully model-driven, intent based
-**package** needed for SELF SERVICE provisioning and configuration management automation.
-
-The CBA is **.zip** file, comprised of the following folder structure, the files may vary:
-
-.. code-block language is required for ReadTheDocs to render code-blocks. Python set as default.
-
-.. code-block:: python
-
- ├── Definitions
- │ ├── blueprint.json Overall TOSCA service template (workflow + node_template)
- │ ├── artifact_types.json (generated by enrichment)
- │ ├── data_types.json (generated by enrichment)
- │ ├── policy_types.json (generated by enrichment)
- │ ├── node_types.json (generated by enrichment)
- │ ├── relationship_types.json (generated by enrichment)
- │ ├── resources_definition_types.json (generated by enrichment, based on Data Dictionaries)
- │ └── *-mapping.json One per Template
- │
- ├── Environments Contains *.properties files as required by the service
- │
- ├── Plans Contains Directed Graph
- │
- ├── Tests Contains uat.yaml file for testing cba actions within a cba package
- │
- ├── Scripts Contains scripts
- │ ├── python Python scripts
- │ └── kotlin Kotlin scripts
- │
- ├── TOSCA-Metadata
- │ └── TOSCA.meta Meta-data of overall package
- │
- └── Templates Contains combination of mapping and template
-
-To process a CBA for any service we need to enrich it first. This will gather all the node- type, data-type,
-artifact-type, data-dictionary definitions provided in the blueprint.json.
\ No newline at end of file
+.. include:: ../cba/cba-description.rst
\ No newline at end of file
can be found
`here <https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type>`_.
+
+
.. toctree::
:caption: Table of Contents
:maxdepth: 1
.. toctree::
:maxdepth: 2
- ../cba/index
- ../resourcedefinition/index
+ ../../cba/index
+ ../../resourcedefinition/index
resourceassignment
Developer Guide
=================
-Blueprints Processor Microservice:
+Blueprints Processor Microservice
----------------------------------
Micro service to Manage Controller Blueprint Models, such as Resource Dictionary, Service Models, Velocity Templates etc, which will serve service for Controller Design Studio and Controller runtimes.
This microservice is used to deploy Controller Blueprint Archive file in Run time database. This also helps to test the Valid CBA.
.. toctree::
+ :caption: Guide how to run Blueprint Processor in an IDE:
:maxdepth: 1
running-bp-processor-in-ide
-Architecture:
+Architecture
~~~~~~~~~~~~~
|image0|
:width: 400pt
-Testing in local environment:
------------------------------
+Testing in local environment
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Point your browser to http://localhost:8000/api/v1/execution-service/ping (please note that the port is 8000, not 8080)
mvn clean install -Pq -Dadditionalparam=-Xdoclint:none
+.. note::
+ If an error ``invalid flag: --release`` appears when executing the maven install command, you need to upgrade Java version of your local
+ Maven installation. Use something like ``export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64``.
+
Wait for the maven install command to finish until you go further.
Spin up a Docker container with the database
:width: 500pt
:align: middle
-.. |imageRunConfigSetUp| image:: media/run-config-set-up.png
+.. |imageRunConfigSetUp| image:: media/run_config_set_up.png
:width: 500pt
:align: middle