From 51e7c12ccd4889cea181d92b368e1b74622ac769 Mon Sep 17 00:00:00 2001 From: "Singal, Kapil (ks220y)" Date: Fri, 25 Sep 2020 17:22:54 -0400 Subject: Refactoring and fixing Docs Issue-ID: CCSDK-2846 Signed-off-by: Singal, Kapil (ks220y) Change-Id: I67b3270a2052a7f6bc878ba010011f01cb348192 --- docs/CBA/index.rst | 122 -------------------- docs/CBA/media/CDS_Architecture.jpg | Bin 290332 -> 0 bytes docs/CBA/media/CDS_Data_Flow.jpg | Bin 321865 -> 0 bytes docs/CBA/media/Functional_Decomposition.jpg | Bin 209297 -> 0 bytes docs/cba/index.rst | 125 +++++++++++++++++++++ docs/cba/media/CDS_Architecture.jpg | Bin 0 -> 290332 bytes docs/cba/media/CDS_Data_Flow.jpg | Bin 0 -> 321865 bytes docs/cba/media/Functional_Decomposition.jpg | Bin 0 -> 209297 bytes docs/microservices/blueprintsProcessorMS.rst | 3 +- docs/microservices/controllerBlueprintMS.rst | 1 + docs/microservices/enrichment.rst | 3 - docs/microservices/workflow.rst | 10 +- docs/modelingconcepts/artifact-type.rst | 8 +- docs/modelingconcepts/data-dictionary.rst | 3 +- docs/modelingconcepts/data-type.rst | 58 +++++----- docs/modelingconcepts/enrichment.rst | 2 +- docs/modelingconcepts/external-system.rst | 30 ++--- docs/modelingconcepts/node-type.rst | 147 +++++++++++++------------ docs/resourcedefinition/index.rst | 13 +-- docs/resourcedefinition/resourcesource.rst | 30 ++--- docs/ui/designer.rst | 101 ++++++----------- docs/userguide/designtime.rst | 2 +- docs/userguide/installation.rst | 1 - docs/userguide/resourceassignment.rst | 21 ++-- docs/userguide/running-bp-processor-in-ide.rst | 46 ++------ 25 files changed, 335 insertions(+), 391 deletions(-) delete mode 100644 docs/CBA/index.rst delete mode 100644 docs/CBA/media/CDS_Architecture.jpg delete mode 100644 docs/CBA/media/CDS_Data_Flow.jpg delete mode 100644 docs/CBA/media/Functional_Decomposition.jpg create mode 100644 docs/cba/index.rst create mode 100644 docs/cba/media/CDS_Architecture.jpg create mode 100644 docs/cba/media/CDS_Data_Flow.jpg create mode 100644 docs/cba/media/Functional_Decomposition.jpg diff --git a/docs/CBA/index.rst b/docs/CBA/index.rst deleted file mode 100644 index b9e31119c..000000000 --- a/docs/CBA/index.rst +++ /dev/null @@ -1,122 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 -.. International License. http://creativecommons.org/licenses/by/4.0 -.. Copyright (C) 2019 IBM. - -.. _cds_cba-doc: - -Controller Blueprint Archived Designer Tool (CBA) -================================================= -.. toctree:: - :maxdepth: 1 - -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. - - -Architecture ------------- -|image1| - -Data Flow ---------- -|image2| - - -Installation ------------- - -Building client html and js files -................................. - - * FROM alpine:3.8 as builder - * RUN apk add --no-cache npm - * WORKDIR /opt/cds-ui/client/ - * COPY client/package.json /opt/cds-ui/client/ - * RUN npm install - * COPY client /opt/cds-ui/client/ - * RUN npm run build - -Building and creating server -............................ - - * FROM alpine:3.8 - * WORKDIR /opt/cds-ui/ - * RUN apk add --no-cache npm - * COPY server/package.json /opt/cds-ui/ - * RUN npm install - * COPY server /opt/cds-ui/ - * COPY --from=builder /opt/cds-ui/server/public /opt/cds-ui/public - * RUN npm run build - * EXPOSE 3000 - * CMD [ "npm", "start" ] - -Development ------------ - -Pre-requiste -............ - * Visual Studio code editor - * Git bash - * Node.js & npm - * loopback 4 cl - -Steps -..... - To compile CDS code: - - 1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) - contains references to the ONAP repositories and OpenDaylight - repositories. - 2. git clone https://(LFID)@gerrit.onap.org/r/a/ccsdk/cds - 3. cd cds ; mvn clean install ; cd .. - 4. Open the cds-ui/client code for development - -Functional Decomposition ------------------------- -|image3| - -.. |image1| image:: media/CDS_Architecture.jpg - :width: 500pt - -.. |image2| image:: media/CDS_Data_Flow.jpg - :width: 500pt - -.. |image3| image:: media/Functional_Decomposition.jpg - :width: 500pt - diff --git a/docs/CBA/media/CDS_Architecture.jpg b/docs/CBA/media/CDS_Architecture.jpg deleted file mode 100644 index 720d29aa2..000000000 Binary files a/docs/CBA/media/CDS_Architecture.jpg and /dev/null differ diff --git a/docs/CBA/media/CDS_Data_Flow.jpg b/docs/CBA/media/CDS_Data_Flow.jpg deleted file mode 100644 index 59e144710..000000000 Binary files a/docs/CBA/media/CDS_Data_Flow.jpg and /dev/null differ diff --git a/docs/CBA/media/Functional_Decomposition.jpg b/docs/CBA/media/Functional_Decomposition.jpg deleted file mode 100644 index 2b8257474..000000000 Binary files a/docs/CBA/media/Functional_Decomposition.jpg and /dev/null differ diff --git a/docs/cba/index.rst b/docs/cba/index.rst new file mode 100644 index 000000000..70ed2aef8 --- /dev/null +++ b/docs/cba/index.rst @@ -0,0 +1,125 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +.. _cds_cba-doc: + +Controller Blueprint Archived Designer Tool (CBA) +================================================= +.. toctree:: + :maxdepth: 1 + +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. + + +Architecture +------------ +|image1| + + +Data Flow +--------- +|image2| + + +Installation +------------ + +Building client html and js files +................................. + + * FROM alpine:3.8 as builder + * RUN apk add --no-cache npm + * WORKDIR /opt/cds-ui/client/ + * COPY client/package.json /opt/cds-ui/client/ + * RUN npm install + * COPY client /opt/cds-ui/client/ + * RUN npm run build + +Building and creating server +............................ + + * FROM alpine:3.8 + * WORKDIR /opt/cds-ui/ + * RUN apk add --no-cache npm + * COPY server/package.json /opt/cds-ui/ + * RUN npm install + * COPY server /opt/cds-ui/ + * COPY --from=builder /opt/cds-ui/server/public /opt/cds-ui/public + * RUN npm run build + * EXPOSE 3000 + * CMD [ "npm", "start" ] + + +Development +----------- + +Pre-requiste +............ + * Visual Studio code editor + * Git bash + * Node.js & npm + * loopback 4 cl + +Steps +..... + To compile CDS code: + + 1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) + contains references to the ONAP repositories and OpenDaylight + repositories. + 2. git clone https://(LFID)@gerrit.onap.org/r/a/ccsdk/cds + 3. cd cds ; mvn clean install ; cd .. + 4. Open the cds-ui/client code for development + + +Functional Decomposition +------------------------ +|image3| + +.. |image1| image:: media/CDS_Architecture.jpg + :width: 500pt + +.. |image2| image:: media/CDS_Data_Flow.jpg + :width: 500pt + +.. |image3| image:: media/Functional_Decomposition.jpg + :width: 500pt + diff --git a/docs/cba/media/CDS_Architecture.jpg b/docs/cba/media/CDS_Architecture.jpg new file mode 100644 index 000000000..720d29aa2 Binary files /dev/null and b/docs/cba/media/CDS_Architecture.jpg differ diff --git a/docs/cba/media/CDS_Data_Flow.jpg b/docs/cba/media/CDS_Data_Flow.jpg new file mode 100644 index 000000000..59e144710 Binary files /dev/null and b/docs/cba/media/CDS_Data_Flow.jpg differ diff --git a/docs/cba/media/Functional_Decomposition.jpg b/docs/cba/media/Functional_Decomposition.jpg new file mode 100644 index 000000000..2b8257474 Binary files /dev/null and b/docs/cba/media/Functional_Decomposition.jpg differ diff --git a/docs/microservices/blueprintsProcessorMS.rst b/docs/microservices/blueprintsProcessorMS.rst index e447c3ff9..9f13c0e5d 100644 --- a/docs/microservices/blueprintsProcessorMS.rst +++ b/docs/microservices/blueprintsProcessorMS.rst @@ -35,7 +35,7 @@ In the checked out directory, type .. code-block:: none - mvn clean install -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none + mvn clean install -Pq -Dadditionalparam=-Xdoclint:none Create the needed Docker images: @@ -53,6 +53,7 @@ Build it using the Maven profile called Docker: mvn clean install -Pdocker + Start Docker containers using docker-composer: ---------------------------------------------- diff --git a/docs/microservices/controllerBlueprintMS.rst b/docs/microservices/controllerBlueprintMS.rst index 2326e95c0..6b9fb49a2 100644 --- a/docs/microservices/controllerBlueprintMS.rst +++ b/docs/microservices/controllerBlueprintMS.rst @@ -10,6 +10,7 @@ The **C**\ ontroller **B**\ lueprint **A**\ rchive is the overall service design The CBA is .zip file, which is saved in Controller Blueprint Database. + Controller Blueprint Microservices: ----------------------------------- diff --git a/docs/microservices/enrichment.rst b/docs/microservices/enrichment.rst index 0f50beca4..5ddb23bb4 100644 --- a/docs/microservices/enrichment.rst +++ b/docs/microservices/enrichment.rst @@ -14,16 +14,13 @@ The following shows 2 ways to run CBA enrichment REST API request: ----------------- - |image0| CDS UI: ------- - |image1| - |image2| .. |image0| image:: media/Enrichment-REST.png diff --git a/docs/microservices/workflow.rst b/docs/microservices/workflow.rst index b6ea1e6fd..5a564870c 100644 --- a/docs/microservices/workflow.rst +++ b/docs/microservices/workflow.rst @@ -4,7 +4,6 @@ Workflow ======== - A workflow defines an overall action to be taken on the service, hence is an entry-point for the run-time execution of the CBA package. A workflow also defines inputs and outputs that will defined the payload contract of the request and response (see Dynamic API) @@ -13,11 +12,12 @@ A workflow can be composed of one or multiple sub-actions to execute. A CBA package can have as many workflows as needed. + Single action ------------- - The workflow is directly backed by a node_template of type tosca.nodes.Component + Multiple sub-actions -------------------- The workflow is backed by Directed Graph engine, node_template of type dg-generic, and are imperative workflows. @@ -27,11 +27,9 @@ A DG used as workflow for CDS is composed of multiple execute nodes; each indivi Below the properties of a workflow: - Workflow Example ---------------- - -:: +.. code-block:: json { "workflow": { @@ -41,7 +39,7 @@ Workflow Example "required": true, "type": "string" }, - "resource-assignment-properties": { <- dynamic inputs + "resource-assignment-properties": { <- dynamic inputs "required": true, "type": "dt-resource-assignment-properties" } diff --git a/docs/modelingconcepts/artifact-type.rst b/docs/modelingconcepts/artifact-type.rst index 173f22bee..3dda2c4ed 100644 --- a/docs/modelingconcepts/artifact-type.rst +++ b/docs/modelingconcepts/artifact-type.rst @@ -15,7 +15,7 @@ Represents the **type of a artifact**, used to **identify** the This node was created, derived from ``tosca.artifacts.Root`` to be the root TOSCA node for all artifact. -.. code-block:: JSON +.. code-block:: json :caption: **tosca.artifacts.Implementation** { @@ -49,7 +49,7 @@ This node was created, derived from ``tosca.artifacts.Root`` to be the root TOSC `Here `_ is the TOSCA artifact type: - .. code-block:: JSON + .. code-block:: json :caption: **artifact-template-velocity** { @@ -78,7 +78,7 @@ This node was created, derived from ``tosca.artifacts.Root`` to be the root TOSC `Here `_ is the TOSCA artifact type: - .. code-block:: JSON + .. code-block:: json :caption: **artifact-template-jinja** { @@ -110,7 +110,7 @@ This node was created, derived from ``tosca.artifacts.Root`` to be the root TOSC `Here `_ is the TOSCA artifact type: - .. code-block:: JSON + .. code-block:: json :caption: **artifact-mapping-resource** { diff --git a/docs/modelingconcepts/data-dictionary.rst b/docs/modelingconcepts/data-dictionary.rst index 1a5a41f44..bfc86d0c9 100644 --- a/docs/modelingconcepts/data-dictionary.rst +++ b/docs/modelingconcepts/data-dictionary.rst @@ -82,8 +82,7 @@ Here is how input-key-mapping, output-key-mapping and key-dependencies can be us :header-rows: 1 * - vf-module-label data dictionary - * - .. code-block:: JSON - + * - .. code-block:: json { "name" : "vf-module-label", diff --git a/docs/modelingconcepts/data-type.rst b/docs/modelingconcepts/data-type.rst index a231e5aa5..29143de80 100644 --- a/docs/modelingconcepts/data-type.rst +++ b/docs/modelingconcepts/data-type.rst @@ -45,20 +45,20 @@ Users can **create** as many **data type** as needed. :caption: **Payload:** { - "model-name": "", - "derivedFrom": "tosca.datatypes.Root", - "definitionType": "data_type", - "definition": { + "model-name": "", + "derivedFrom": "tosca.datatypes.Root", + "definitionType": "data_type", + "definition": { "description": "", "version": "", "properties": {}, "derived_from": "tosca.datatypes.Root" - }, - "description": "", - "tags": ",datatypes.Root.data_type", - "creationDate": "", - "updatedBy": "" + }, + "description": "", + "tags": ",datatypes.Root.data_type", + "creationDate": "", + "updatedBy": "" } Data type are useful to manipulate data during resource resolution. @@ -108,7 +108,7 @@ List of existing data type: ``_ - .. code-block:: JSON + .. code-block:: json :caption: **datatype-resource-assignment** { @@ -175,7 +175,7 @@ List of existing data type: ``_ - .. code-block:: JSON + .. code-block:: json :caption: **datatype-property** { @@ -183,35 +183,35 @@ List of existing data type: "description": "This is Resource Assignment Data Type", "properties": { "property": { - "required": true, - "type": "datatype-property" + "required": true, + "type": "datatype-property" }, "input-param": { - "required": true, - "type": "boolean" + "required": true, + "type": "boolean" }, "dictionary-name": { - "required": false, - "type": "string" + "required": false, + "type": "string" }, "dictionary-source": { - "required": false, - "type": "string" + "required": false, + "type": "string" }, "dependencies": { - "required": true, - "type": "list", - "entry_schema": { - "type": "string" - } + "required": true, + "type": "list", + "entry_schema": { + "type": "string" + } }, "updated-date": { - "required": false, - "type": "string" + "required": false, + "type": "string" }, "updated-by": { - "required": false, - "type": "string" + "required": false, + "type": "string" } }, "derived_from": "tosca.datatypes.Root" diff --git a/docs/modelingconcepts/enrichment.rst b/docs/modelingconcepts/enrichment.rst index 554517a7e..b88493448 100644 --- a/docs/modelingconcepts/enrichment.rst +++ b/docs/modelingconcepts/enrichment.rst @@ -46,7 +46,7 @@ The enrichment process will also, for all resources to be resolved as input and Example for workflow named *resource-assignment*: -.. code-block:: JSON +.. code-block:: json :caption: **dynamic input** { diff --git a/docs/modelingconcepts/external-system.rst b/docs/modelingconcepts/external-system.rst index c23d19f58..806600f4d 100644 --- a/docs/modelingconcepts/external-system.rst +++ b/docs/modelingconcepts/external-system.rst @@ -48,10 +48,10 @@ Here are some examples on how to populate the system information within the pack . . . "dsl_definitions": { "ipam-1": { - "type": "basic-auth", - "url": "http://localhost:8080", - "username": "bob", - "password": "marley" + "type": "basic-auth", + "url": "http://localhost:8080", + "username": "bob", + "password": "marley" } } . . . @@ -68,13 +68,13 @@ Here are some examples on how to populate the system information within the pack . . . "dsl_definitions": { "ipam-1": { - "type" : "ssl-basic-auth", - "url" : "http://localhost:32778", - "keyStoreInstance": "JKS or PKCS12", - "sslTrust": "trusture", - "sslTrustPassword": "trustore password", - "sslKey": "keystore", - "sslKeyPassword: "keystore password" + "type" : "ssl-basic-auth", + "url" : "http://localhost:32778", + "keyStoreInstance": "JKS or PKCS12", + "sslTrust": "trusture", + "sslTrustPassword": "trustore password", + "sslKey": "keystore", + "sslKeyPassword: "keystore password" } } . . . @@ -110,10 +110,10 @@ Here are some examples on how to populate the system information within the pack . . . "dsl_definitions": { "netprog-db": { - "type": "maria-db", - "url": "jdbc:mysql://10.195.196.123:32050/netprog", - "username": "netprog", - "password": "netprog" + "type": "maria-db", + "url": "jdbc:mysql://10.195.196.123:32050/netprog", + "username": "netprog", + "password": "netprog" } } . . . diff --git a/docs/modelingconcepts/node-type.rst b/docs/modelingconcepts/node-type.rst index b436ae553..070f6f65c 100644 --- a/docs/modelingconcepts/node-type.rst +++ b/docs/modelingconcepts/node-type.rst @@ -209,58 +209,58 @@ listed in the other section. .. code-block:: json :caption: **component-script-executor** - { - "description": "This is Netconf Transaction Configuration Component API", - "version": "1.0.0", - "interfaces": { - "ComponentScriptExecutor": { + { + "description": "This is Netconf Transaction Configuration Component API", + "version": "1.0.0", + "interfaces": { + "ComponentScriptExecutor": { "operations": { - "process": { - "inputs": { + "process": { + "inputs": { "script-type": { - "description": "Script type, kotlin type is supported", - "required": true, - "type": "string", - "default": "internal", - "constraints": [ - { + "description": "Script type, kotlin type is supported", + "required": true, + "type": "string", + "default": "internal", + "constraints": [ + { "valid_values": [ - "kotlin", - "jython", - "internal" + "kotlin", + "jython", + "internal" ] - } - ] + } + ] }, "script-class-reference": { - "description": "Kotlin Script class name with full package or jython script name.", - "required": true, - "type": "string" + "description": "Kotlin Script class name with full package or jython script name.", + "required": true, + "type": "string" }, "dynamic-properties": { - "description": "Dynamic Json Content or DSL Json reference.", - "required": false, - "type": "json" + "description": "Dynamic Json Content or DSL Json reference.", + "required": false, + "type": "json" } - }, - "outputs": { + }, + "outputs": { "response-data": { - "description": "Execution Response Data in JSON format.", - "required": false, - "type": "string" + "description": "Execution Response Data in JSON format.", + "required": false, + "type": "string" }, "status": { - "description": "Status of the Component Execution ( success or failure )", - "required": true, - "type": "string" + "description": "Status of the Component Execution ( success or failure )", + "required": true, + "type": "string" } - } - } + } + } } - } - }, - "derived_from": "tosca.nodes.Component" - } + } + }, + "derived_from": "tosca.nodes.Component" + } .. tab:: remote-script-executor @@ -292,18 +292,18 @@ listed in the other section. :caption: **Example** "packages": [ - { - "type": "pip", - "package": [ + { + "type": "pip", + "package": [ "requirements.txt" - ] - }, - { - "type": "ansible_galaxy", - "package": [ + ] + }, + { + "type": "ansible_galaxy", + "package": [ "juniper.junos" - ] - } + ] + } ] The `argument-properties` allows to specified input argument to the script to execute. They should be @@ -313,17 +313,17 @@ listed in the other section. :caption: **Example** "ansible-argument-properties": { - "arg0": "-i", - "arg1": "Scripts/ansible/inventory.yaml", - "arg2": "--extra-vars", - "arg3": { - "get_attribute": [ + "arg0": "-i", + "arg1": "Scripts/ansible/inventory.yaml", + "arg2": "--extra-vars", + "arg3": { + "get_attribute": [ "resolve-ansible-vars", "", "assignment-params", "ansible-vars" - ] - } + ] + } } The `dynamic-properties` can be anything that needs to be passed to the @@ -516,6 +516,7 @@ listed in the other section. **Bellow is a list of supported sources** .. tabs:: + .. tab:: input **Input:** @@ -916,24 +917,24 @@ listed in the other section. xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='CONFIG' version='1.0.0'> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/docs/resourcedefinition/index.rst b/docs/resourcedefinition/index.rst index a91d5999f..aa83920cb 100644 --- a/docs/resourcedefinition/index.rst +++ b/docs/resourcedefinition/index.rst @@ -3,12 +3,12 @@ .. Copyright (C) 2019 IBM. Resource Definition -------------------- +=================== .. toctree:: :maxdepth: 2 Introduction: -============= +------------- A Resource definition models the how a specific resource can be resolved. A resource is a variable/parameter in the context of the service. It can be anything, but it should not be confused with SDC or Openstack resources. @@ -21,7 +21,6 @@ As part of modelling a Resource definition entry, the following generic informat |image0| - Below are properties that all the resource source have will have The modeling does allow for data translation between external capability and CDS for both input and output key mapping. @@ -30,7 +29,7 @@ The modeling does allow for data translation between external capability and CDS Example: -======== +-------- vf-module-model-customization-uuid and vf-module-label are two data dictionaries. A SQL table, VF_MODULE_MODEL, exist to correlate them. @@ -39,7 +38,7 @@ Here is how input-key-mapping, output-key-mapping and key-dependencies can be us .. code-block:: json :linenos: - { + { "description": "This is Component Resource Source Node Type", "version": "1.0.0", "properties": { @@ -79,11 +78,11 @@ Here is how input-key-mapping, output-key-mapping and key-dependencies can be us } }, "derived_from": "tosca.nodes.ResourceSource" - } + } Resource source: -================ +---------------- Defines the contract to resolve a resource. diff --git a/docs/resourcedefinition/resourcesource.rst b/docs/resourcedefinition/resourcesource.rst index 4b7c8c73e..f05f09c84 100644 --- a/docs/resourcedefinition/resourcesource.rst +++ b/docs/resourcedefinition/resourcesource.rst @@ -3,12 +3,12 @@ .. Copyright (C) 2019 IBM. Resource Source ---------------- +=============== .. toctree:: :maxdepth: 4 Input: -====== +------ Expects the value to be provided as input to the request. .. code-block:: json @@ -25,7 +25,7 @@ Expects the value to be provided as input to the request. } Default: -======== +-------- Expects the value to be defaulted in the model itself. .. code-block:: json @@ -42,7 +42,7 @@ Expects the value to be defaulted in the model itself. } Sql: -==== +---- Expects the SQL query to be modeled; that SQL query can be parameterized, and the parameters be other resources resolved through other means. If that's the case, this data dictionary definition will have to define key-dependencies along with input-key-mapping. @@ -56,7 +56,7 @@ CDS is currently deployed along the side of SDNC, hence the primary database con .. code-block:: json :linenos: - { + { "description": "This is Database Resource Source Node Type", "version": "1.0.0", "properties": { @@ -102,7 +102,7 @@ CDS is currently deployed along the side of SDNC, hence the primary database con } }, "derived_from": "tosca.nodes.ResourceSource" - } + } Connection to a specific database can be expressed through the endpoint-selector property, which refers to a macro defining the information about the database the connect to. Understand TOSCA Macro in the context of CDS. @@ -121,7 +121,7 @@ Connection to a specific database can be expressed through the endpoint-selector } Rest: -===== +----- Expects the URI along with the VERB and the payload, if needed. @@ -135,7 +135,7 @@ CDS is currently deployed along the side of SDNC, hence the default rest connect .. code-block:: json :linenos: - { + { "description": "This is Rest Resource Source Node Type", "version": "1.0.0", "properties": { @@ -216,7 +216,7 @@ CDS is currently deployed along the side of SDNC, hence the default rest connect } }, "derived_from": "tosca.nodes.ResourceSource" - } + } Connection to a specific REST system can be expressed through the endpoint-selector property, which refers to a macro defining the information about the REST system the connect to. Understand TOSCA Macro in the context of CDS. @@ -279,7 +279,7 @@ ssl-basic-auth: } Capability: -=========== +----------- Expects a script to be provided. @@ -291,7 +291,7 @@ Expects a script to be provided. .. code-block:: json :linenos: - { + { "description": "This is Component Resource Source Node Type", "version": "1.0.0", "properties": { @@ -331,10 +331,10 @@ Expects a script to be provided. } }, "derived_from": "tosca.nodes.ResourceSource" - } + } Complex Type: -============= +------------- Value will be resolved through REST., and output will be a complex type. @@ -349,7 +349,7 @@ As part of this request, the expected response will be as below. .. code-block:: json :linenos: - { + { "id": 4, "address": "192.168.10.2/32", "vrf": null, @@ -361,7 +361,7 @@ As part of this request, the expected response will be as below. "nat_inside": null, "created": "2018-08-30", "last_updated": "2018-08-30T14:59:05.277820Z" - } + } What is of interest is the address and id fields. For the process to return these two values, we need to create a custom data-type, as bellow diff --git a/docs/ui/designer.rst b/docs/ui/designer.rst index e964f02fb..3f78c1fe9 100644 --- a/docs/ui/designer.rst +++ b/docs/ui/designer.rst @@ -5,45 +5,9 @@ CDS Designer UI =============== -**Table of Contents** - -- `Getting - Started `__ - -- `What is CDS Designer - UI? `__ - -- `What's - new? `__ - -- `Overview of CDS - Interface `__ - -- `CBA - Packages `__ - - - `Package - list `__ - - - `Create a CBA - Package `__ - - - `User - Flow `__ - - - `Create a New - Package `__ - - - `MetaData <#CDSDesignerGuide-MetaData>`__ - - - `Template & Mapping <#CDSDesignerGuide-TemplateMapping>`__ - - - `Scripts <#CDSDesignerGuide-Scripts>`__ - - - `Definitions <#CDSDesignerGuide-Definitions>`__ - - - `External System Authentication - Properties <#CDSDesignerGuide-ExternalSystem>`__ +.. toctree:: + :caption: Table of Contents + :maxdepth: 4 Getting Started @@ -53,6 +17,7 @@ This is your CDS Designer UI guide. No matter how experienced you are or what you want to achieve, it should cover everything you need to know — from navigating the interface to making the most of different features. + What is CDS Designer UI? ------------------------ @@ -81,7 +46,6 @@ What is CDS Designer UI? | standard**, using JSON as a representation. | | +----------------------------------------------+--------------+ -.. _section-3: What's new? ----------- @@ -105,6 +69,7 @@ What's new? | | management) | | +----------------------+----------------------+----------------------+ + Overview of CDS Interface ------------------------- @@ -124,11 +89,12 @@ Full CDS UI screens are available in 4. **Module list:** View all active items in module and tools for search and filtering + CBA Packages ------------ -- .. rubric:: Package List - :name: package-list +Package List +~~~~~~~~~~~~ It gives you quick access to all and most recent created/edit packages @@ -173,16 +139,18 @@ It gives you quick access to all and most recent created/edit packages and Generic scripting) and by clicking on it, it will load to mode screen + Create a New CBA Package ------------------------ -- .. rubric:: User Flow - :name: user-flow +User Flow +~~~~~~~~~ |image10| -- .. rubric:: Create a New Package - :name: create-a-new-package + +Create a New Package +~~~~~~~~~~~~~~~~~~~~ You can create a new CBA Package by creating a new custom package or by import package file that is already created before. @@ -200,8 +168,9 @@ navigate to **Package** **Configuration** |image11| -- .. rubric:: `MetaData `__ - :name: metadata + +`MetaData `__ +~~~~~~~~~ In **MetaData Tab,** select Package Mode, enter package Name, Version, Description and other configurations @@ -227,9 +196,9 @@ To close the package configuration and go back to the Package list, navigate to the top left in breadcrumb and click the **CBA Packages** link or click on **Packages** link in the Main menu. -- .. rubric:: `Template & - Mapping `__ - :name: template-mapping + +`Template & Mapping `__ +~~~~~~~~~~~~~~~~~~~ You can create as many templates using `artifact-mapping-resource `__ @@ -295,20 +264,20 @@ on **the Clear button** **(2).** |image22| -- .. rubric:: `Scripts `__ - :name: scripts + +`Scripts `__ +~~~~~~~~ Allowed file type: Kotlin(kt), Python(py) To add script file/s, you have two options: -1. **Enter file URL:** Script file can be stored in server and you can - add this script file by copy and paste file URL in URL input then - **press ENTER** key from the keyboard +**Enter file URL:** Script file can be stored in server and you can add this script file by copy and paste file URL in URL input then +**press ENTER** key from the keyboard |image23| -2. **Import File** +**Import File** |image24| @@ -320,21 +289,21 @@ By adding script file/s, you can: |image25| -- .. rubric:: `Definitions `__ - :name: definitions + +`Definitions `__ +~~~~~~~~~~~~ Allowed file type: JSON To define a data type that represents the **schema** of a specific type of **data**, you have two options: -1. ** Enter file URL:** Definition file can be stored in server and user can - add this script file by copy and paste file URL in URL input then - **press ENTER** key from the keyboard +**Enter file URL:** Definition file can be stored in server and user can add this script file by copy and paste file URL in URL input then +**press ENTER** key from the keyboard |image26| -2. **Import File** +**Import File** |image27| @@ -346,9 +315,9 @@ By adding definition file/s, you can: |image28| -- .. rubric:: `External System Authentication - Properties `__ - :name: external-system-authentication-properties + +`External System Authentication Properties `__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In order to populate the system information within the package, you have to provide **dsl_definitions** diff --git a/docs/userguide/designtime.rst b/docs/userguide/designtime.rst index 3ec9ebf95..805cfa89c 100644 --- a/docs/userguide/designtime.rst +++ b/docs/userguide/designtime.rst @@ -45,6 +45,6 @@ Services: .. toctree:: :maxdepth: 2 - ../CBA/index + ../cba/index ../resourcedefinition/index resourceassignment diff --git a/docs/userguide/installation.rst b/docs/userguide/installation.rst index 4e15e980b..10997294c 100644 --- a/docs/userguide/installation.rst +++ b/docs/userguide/installation.rst @@ -84,7 +84,6 @@ Install Node.js and angularCLI. Refer https://angular.io/guide/quickstart npm install in the directory cds/cds-ui/client npm run build - to build UI module - Loopback Server: ~~~~~~~~~~~~~~~~ diff --git a/docs/userguide/resourceassignment.rst b/docs/userguide/resourceassignment.rst index f4fab4ee3..aa4f6b559 100644 --- a/docs/userguide/resourceassignment.rst +++ b/docs/userguide/resourceassignment.rst @@ -2,23 +2,23 @@ .. http://creativecommons.org/licenses/by/4.0 .. Copyright (C) 2019 IBM. -Resource Assignment -------------------- +Resource Assignment +=================== .. toctree:: :maxdepth: 1 - - + + Component executor: -=================== +------------------- Workflow: -========= +~~~~~~~~~ A workflow defines an overall action to be taken for the service; it can be composed of a set of sub-actions to execute. Currently, workflows are backed by Directed Graph engine. A CBA can have as many workflow as needed. Template: -========= +~~~~~~~~~ A template is an artifact. @@ -34,7 +34,7 @@ ${artifact-prefix}-mapping A template can represent anything, such as device config, payload to interact with 3rd party systems, resource-accumulator template, etc... Mapping: -======== +~~~~~~~~ Defines the contract of each resource to be resolved. Each placeholder in the template must have a corresponding mapping definition. A mapping is comprised of: @@ -46,13 +46,14 @@ A mapping is comprised of: - dictionary-source Dependencies: -============= +~~~~~~~~~~~~~ This allows to make sure given resources get resolved prior the resolution of the resources defining the dependency. The dictionary fields reference to a specific data dictionary. + Resource accumulator: -===================== +--------------------- In order to resolve HEAT environment variables, resource accumulator templates are being in used for Dublin. diff --git a/docs/userguide/running-bp-processor-in-ide.rst b/docs/userguide/running-bp-processor-in-ide.rst index 1404c42b5..4a0cac58d 100644 --- a/docs/userguide/running-bp-processor-in-ide.rst +++ b/docs/userguide/running-bp-processor-in-ide.rst @@ -12,7 +12,6 @@ Objective Have the blueprint processor running locally is to use the IDE to run the code, while having the database running in a container. This way, code changes can be conveniently tested and debugged. - Check out the code ~~~~~~~~~~~~~~~~~~~ @@ -42,31 +41,9 @@ file present on the distribution module. This database will require a local dire Navigate to the docker-compose file in the distribution module: -.. tabs:: - - .. group-tab:: Latest - - .. code-block:: bash - - cd ms/blueprintsprocessor/application/src/main/dc - - .. group-tab:: Frankfurt - - .. code-block:: bash - - cd ms/blueprintsprocessor/application/src/main/dc - - .. group-tab:: El Alto - - .. code-block:: bash - - ms/blueprintsprocessor/distribution/src/main/dc - - .. group-tab:: Dublin - - .. code-block:: bash +.. code-block:: bash - ms/blueprintsprocessor/distribution/src/main/dc + ms/blueprintsprocessor/distribution/src/main/dc And run docker-composer: @@ -90,7 +67,6 @@ it can be started again by the command: docker start - Set permissions on the local file system ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -121,7 +97,6 @@ Import the project into the IDE |imageReimportMaven| - **Override some application properties:** After the project is compiled, a Run Configuration profile overriding some application properties @@ -317,11 +292,11 @@ Import the project into the IDE .. code-block:: json { - "type": "kotlin", - "request": "launch", - "name": "Blueprint Processor", - "projectRoot": "${workspaceFolder}/ms/blueprintsprocessor/application", - "mainClass": "-Dspring.profiles.active=dev org.onap.ccsdk.cds.blueprintsprocessor.BlueprintProcessorApplicationKt" + "type": "kotlin", + "request": "launch", + "name": "Blueprint Processor", + "projectRoot": "${workspaceFolder}/ms/blueprintsprocessor/application", + "mainClass": "-Dspring.profiles.active=dev org.onap.ccsdk.cds.blueprintsprocessor.BlueprintProcessorApplicationKt" } .. warning:: The `projectRoot` path assumes that you created your Workspace in the main CDS repository folder. If not - please change the path accordingly @@ -376,7 +351,7 @@ Import the project into the IDE Testing the application -~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~ There are two main features of the Blueprints Processor that can be of interest of a developer: blueprint publish and blueprint process. @@ -390,8 +365,9 @@ them is present on https://www.getpostman.com/collections/b99863b0cde7565a32fc. A detailed description of the usage of different APIs of CDS will follow. + Possible Fixes -~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~ Imported packages or annotiations are not found, Run Config not available? ***************************************************************************** @@ -401,7 +377,7 @@ Imported packages or annotiations are not found, Run Config not available? 3. Maven reimport in IDE Compilation error? -******************** +******************* * Change Java Version to 11 -- cgit 1.2.3-korg