diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/CBA/index.rst | 12 | ||||
-rw-r--r-- | docs/CDS_Architecture_Design.pptx (renamed from docs/CBA/CDS_Architecture_Design.pptx) | bin | 1226310 -> 1226310 bytes | |||
-rw-r--r-- | docs/CDS_architecture.JPG (renamed from docs/media/CDS_architecture.JPG) | bin | 140539 -> 140539 bytes | |||
-rw-r--r-- | docs/bluePrintsProcessorMS.rst (renamed from docs/bluePrintsProcessor.rst) | 0 | ||||
-rw-r--r-- | docs/controllerBlueprintStudioProcessorMS.rst (renamed from docs/controllerBlueprintStudioProcessor.rst) | 0 | ||||
-rw-r--r-- | docs/datadictionary/complexResponse.rst | 20 | ||||
-rw-r--r-- | docs/datadictionary/create_netbox_ip_address.rst | 36 | ||||
-rw-r--r-- | docs/datadictionary/dt-netbox-ip.rst | 22 | ||||
-rw-r--r-- | docs/datadictionary/index.rst | 46 | ||||
-rw-r--r-- | docs/datadictionary/resourceDefinitionCode.rst | 48 | ||||
-rw-r--r-- | docs/datadictionary/resourcesource.rst | 40 | ||||
-rw-r--r-- | docs/designtime.rst | 56 | ||||
-rw-r--r-- | docs/image0.jpg (renamed from docs/media/image0.jpg) | bin | 84320 -> 84320 bytes | |||
-rw-r--r-- | docs/index.rst | 8 | ||||
-rw-r--r-- | docs/installation.rst | 63 | ||||
-rw-r--r-- | docs/userguide.rst | 13 |
16 files changed, 310 insertions, 54 deletions
diff --git a/docs/CBA/index.rst b/docs/CBA/index.rst index 43317e6e5..27d69b086 100644 --- a/docs/CBA/index.rst +++ b/docs/CBA/index.rst @@ -93,13 +93,6 @@ Steps 3. cd cds ; mvn clean install ; cd .. 4. Open the cds-ui/client code for development -Data Flow: -========== -|image1| - -.. |image1| image:: media/image1.jpg - :width: 7.88889in - :height: 4.43750in Functional Decomposition: ========================= @@ -109,8 +102,3 @@ Functional Decomposition: :width: 7.88889in :height: 4.43750in -Controller design Studio Presentation: -====================================== - -Details about CDS Architecture and Design detail, Please click the link. -:download:`CDS_Architecture_Design.pptx`
\ No newline at end of file diff --git a/docs/CBA/CDS_Architecture_Design.pptx b/docs/CDS_Architecture_Design.pptx Binary files differindex a6c158d8d..a6c158d8d 100644 --- a/docs/CBA/CDS_Architecture_Design.pptx +++ b/docs/CDS_Architecture_Design.pptx diff --git a/docs/media/CDS_architecture.JPG b/docs/CDS_architecture.JPG Binary files differindex c8528ac1e..c8528ac1e 100644 --- a/docs/media/CDS_architecture.JPG +++ b/docs/CDS_architecture.JPG diff --git a/docs/bluePrintsProcessor.rst b/docs/bluePrintsProcessorMS.rst index 911f99945..911f99945 100644 --- a/docs/bluePrintsProcessor.rst +++ b/docs/bluePrintsProcessorMS.rst diff --git a/docs/controllerBlueprintStudioProcessor.rst b/docs/controllerBlueprintStudioProcessorMS.rst index 5c67d6c1d..5c67d6c1d 100644 --- a/docs/controllerBlueprintStudioProcessor.rst +++ b/docs/controllerBlueprintStudioProcessorMS.rst diff --git a/docs/datadictionary/complexResponse.rst b/docs/datadictionary/complexResponse.rst new file mode 100644 index 000000000..aa39ff235 --- /dev/null +++ b/docs/datadictionary/complexResponse.rst @@ -0,0 +1,20 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +complex Response code +===================== + +{ + "id": 4, + "address": "192.168.10.2/32", + "vrf": null, + "tenant": null, + "status": 1, + "role": null, + "interface": null, + "description": "", + "nat_inside": null, + "created": "2018-08-30", + "last_updated": "2018-08-30T14:59:05.277820Z" +} diff --git a/docs/datadictionary/create_netbox_ip_address.rst b/docs/datadictionary/create_netbox_ip_address.rst new file mode 100644 index 000000000..5d9a9be87 --- /dev/null +++ b/docs/datadictionary/create_netbox_ip_address.rst @@ -0,0 +1,36 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +create_netbox_ip_address code +============================= + +{ + "tags" : "oam-local-ipv4-address", + "name" : "create_netbox_ip", + "property" : { + "description" : "netbox ip", + "type" : "dt-netbox-ip" + }, + "updated-by" : "adetalhouet", + "sources" : { + "primary-config-data" : { + "type" : "source-rest", + "properties" : { + "type" : "JSON", + "verb" : "POST", + "endpoint-selector" : "ipam-1", + "url-path" : "/api/ipam/prefixes/$prefixId/available-ips/", + "path" : "", + "input-key-mapping" : { + "prefixId" : "prefix-id" + }, + "output-key-mapping" : { + "address" : "address", + "id" : "id" + }, + "key-dependencies" : [ "prefix-id" ] + } + } + } + }
\ No newline at end of file diff --git a/docs/datadictionary/dt-netbox-ip.rst b/docs/datadictionary/dt-netbox-ip.rst new file mode 100644 index 000000000..9410580fb --- /dev/null +++ b/docs/datadictionary/dt-netbox-ip.rst @@ -0,0 +1,22 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +dt-netbox-ip code +================= + +{ + "version": "1.0.0", + "description": "This is Netbox IP Data Type", + "properties": { + "address": { + "required": true, + "type": "string" + }, + "id": { + "required": true, + "type": "integer" + } + }, + "derived_from": "tosca.datatypes.Root" +} diff --git a/docs/datadictionary/index.rst b/docs/datadictionary/index.rst index 24050000e..64abdece0 100644 --- a/docs/datadictionary/index.rst +++ b/docs/datadictionary/index.rst @@ -13,12 +13,9 @@ 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. -A Resource definition can have multiple sources to handle resolution in different ways. - -The main goal of Resource definition is to define re-usable entity that could be shared. - -Creation of data dictionaries is a standalone activity, separated from the blueprint design. +A Resource definition can have multiple sources to handle resolution in different ways. The main goal of Resource definition is to define re-usable entity that could be shared. +Creation of Resource definition is a standalone activity, separated from the blueprint design. As part of modelling a Resource definition entry, the following generic information should be provided: @@ -28,7 +25,7 @@ As part of modelling a Resource definition entry, the following generic informat :width: 7.88889in :height: 4.43750in -Bellow are properties that all the resource source have will have +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. @@ -45,33 +42,12 @@ vf-module-model-customization-uuid and vf-module-label are two data dictionaries Here is how input-key-mapping, output-key-mapping and key-dependencies can be used: -vf-module-label Resource definition - -{ - "name" : "vf-module-label", - "tags" : "vf-module-label", - "updated-by" : "adetalhouet", - "property" : { - "description" : "vf-module-label", - "type" : "string" - }, - "sources" : { - "primary-db" : { - "type" : "source-primary-db", - "properties" : { - "type" : "SQL", - "query" : "select sdnctl.VF_MODULE_MODEL.vf_module_label as vf_module_label from sdnctl.VF_MODULE_MODEL where sdnctl.VF_MODULE_MODEL.customization_uuid=:customizationid", - "input-key-mapping" : { - "customizationid" : "vf-module-model-customization-uuid" - }, - "output-key-mapping" : { - "vf-module-label" : "vf_module_label" - }, - "key-dependencies" : [ "vf-module-model-customization-uuid" ] - } - } - } -} +.. toctree:: + :maxdepth: 1 + +resourceDefintionCode + + Resource source: @@ -81,7 +57,7 @@ Defines the contract to resolve a resource. A resource source is modeled, following TOSCA_ node type definition and derives from the Resource_ source. -Also please click below for detailed resource source details +Also please click below for resource source available details .. toctree:: :maxdepth: 1 @@ -89,4 +65,4 @@ Also please click below for detailed resource source details resourcesource .. _TOSCA: http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/csprd01/TOSCA-Simple-Profile-YAML-v1.0-csprd01.html#DEFN_ENTITY_NODE_TYPE -.. _Resource_: https://wiki.onap.org/display/DW/Modeling+Concepts#ModelingConcepts-NodeResourceSource
\ No newline at end of file +.. _Resource: https://wiki.onap.org/display/DW/Modeling+Concepts#ModelingConcepts-NodeResourceSource
\ No newline at end of file diff --git a/docs/datadictionary/resourceDefinitionCode.rst b/docs/datadictionary/resourceDefinitionCode.rst new file mode 100644 index 000000000..a91767678 --- /dev/null +++ b/docs/datadictionary/resourceDefinitionCode.rst @@ -0,0 +1,48 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +Source Capability Code +====================== + +{ + "description": "This is Component Resource Source Node Type", + "version": "1.0.0", + "properties": { + "script-type": { + "required": true, + "type": "string", + "default": "kotlin", + "constraints": [ + { + "valid_values": [ + "kotlin", + "jython" + ] + } + ] + }, + "script-class-reference": { + "description": "Capability reference name for internal and kotlin, for jython script file path", + "required": true, + "type": "string" + }, + "instance-dependencies": { + "required": false, + "description": "Instance dependency Names to Inject to Kotlin / Jython Script.", + "type": "list", + "entry_schema": { + "type": "string" + } + }, + "key-dependencies": { + "description": "Resource Resolution dependency dictionary names.", + "required": true, + "type": "list", + "entry_schema": { + "type": "string" + } + } + }, + "derived_from": "tosca.nodes.ResourceSource" +} diff --git a/docs/datadictionary/resourcesource.rst b/docs/datadictionary/resourcesource.rst index 2b60990ec..1bc0de4f1 100644 --- a/docs/datadictionary/resourcesource.rst +++ b/docs/datadictionary/resourcesource.rst @@ -49,14 +49,14 @@ CDS is currently deployed along the side of SDNC, hence the primary database con .. toctree:: :maxdepth: 1 - sourceprimarydbcode - +sourceprimarydbcode + 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. .. toctree:: :maxdepth: 1 - dbsystemcode +dbsystemcode REST: @@ -108,3 +108,37 @@ Expects a script to be provided. :maxdepth: 1 sourcecapabilitycode + +Complex Type: +============= + +Value will be resolved through REST., and output will be a complex type. + +Modeling reference: Modeling Concepts#rest + +In this example, we're making a POST request to an IPAM system with no payload. + +Some ingredients are required to perform the query, in this case, $prefixId. Hence It is provided as an input-key-mapping and defined as a key-dependencies. Please refer to the modeling guideline for more in depth understanding. + +As part of this request, the expected response will be as below. + +.. toctree:: + :maxdepth: 1 + + complexResponse + +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 + +.. toctree:: + :maxdepth: 1 + + dt-netbox-ip + +The type of the data dictionary will be dt-netbox-ip. + +To tell the resolution framework what is of interest in the response, the output-key-mapping section is used. The process will map the output-key-mapping to the defined data-type. + +.. toctree:: + :maxdepth: 1 + +create_netbox_ip_address
\ No newline at end of file diff --git a/docs/designtime.rst b/docs/designtime.rst new file mode 100644 index 000000000..304a98e2b --- /dev/null +++ b/docs/designtime.rst @@ -0,0 +1,56 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +Design Time User Guide +====================== + +Bellow are the requirements to enable automation for a service within ONAP. + +For instantiation, the goal is to be able to automatically resolve all the HEAT/Helm variables, called cloud parameters. + +For post-instantiation, the goal is to configure the VNF with initial configuration. + +Prerequisite +============ + +* Gather the cloud parameters: + +instantiation: + +Have the HEAT template along with the HEAT environment file. + +or + +Have the Helm chart along with the Values.yaml file + +(CDS supports, but whether SO → Multicloud support for Helm/K8S is different story) + + +Post-instantiation: + +Have the configuration template to apply on the VNF. + +* XML for NETCONF +* JSON / XML for RESTCONF +* not supported yet - CLI +* JSON for Ansible [not supported yet] + +*Identify which template parameters are static and dynamic +*Create and fill-in the a table for all the dynamic values + +While doing so, identify the resources using the same process to be resolved; for instance, if two IPs has to be resolved through the same IPAM, the process the resolve the IP is the same. + + +Services: +============= + +.. toctree:: + :maxdepth: 1 + + CBA/index + datadictionary/index + resourceassignment + component + template + resquirement diff --git a/docs/media/image0.jpg b/docs/image0.jpg Binary files differindex dce3cee25..dce3cee25 100644 --- a/docs/media/image0.jpg +++ b/docs/image0.jpg diff --git a/docs/index.rst b/docs/index.rst index 5f3902687..ed558bf59 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -27,7 +27,7 @@ Tosca Model Reference: |image0| -.. |image0| image:: media/image0.jpg +.. |image0| image:: image0.jpg :width: 7.88889in :height: 4.43750in @@ -46,8 +46,8 @@ MicroServices: :maxdepth: 1 :glob: - controllerBlueprintStudioProcessor - bluePrintsProcessor + controllerBlueprintStudioProcessorMS + bluePrintsProcessorMS Architecture: ============= @@ -58,7 +58,7 @@ The GUI handles direct user input and allows for displaying both design time and |image0| -.. |image0| image:: media/CDS_architecture.jpg +.. |image0| image:: CDS_architecture.jpg :height: 4.43750in :width: 7.88889in diff --git a/docs/installation.rst b/docs/installation.rst new file mode 100644 index 000000000..ac72b425f --- /dev/null +++ b/docs/installation.rst @@ -0,0 +1,63 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +Installation +============ + +ONAP is meant to be deployed within a Kubernetes environment. Hence, the de-facto way to deploy CDS is through Kubernetes. + +ONAP also package Kubernetes manifest as Chart, using Helm. + +Prerequisite +============ + +https://docs.onap.org/en/latest/guides/onap-developer/settingup/index.html + +Setup local Helm +================ + +helm repo + +* helm serve & +* helm repo add local http://127.0.0.1:8879 + +Get the chart +============= + +Make sure to checkout the release to use, by replacing $release-tag in bellow command + +git clone https://gerrit.onap.org/r/oom +git checkout tags/$release-tag +cd oom/kubernetes +make cds + +Install CDS +=========== + +helm install --name cds cds + +Result +====== + +$ kubectl get all --selector=release=cds +NAME READY STATUS RESTARTS AGE +pod/cds-blueprints-processor-54f758d69f-p98c2 0/1 Running 1 2m +pod/cds-cds-6bd674dc77-4gtdf 1/1 Running 0 2m +pod/cds-cds-db-0 1/1 Running 0 2m +pod/cds-controller-blueprints-545bbf98cf-zwjfc 1/1 Running 0 2m +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +service/blueprints-processor ClusterIP 10.43.139.9 <none> 8080/TCP,9111/TCP 2m +service/cds NodePort 10.43.254.69 <none> 3000:30397/TCP 2m +service/cds-db ClusterIP None <none> 3306/TCP 2m +service/controller-blueprints ClusterIP 10.43.207.152 <none> 8080/TCP 2m +NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE +deployment.apps/cds-blueprints-processor 1 1 1 0 2m +deployment.apps/cds-cds 1 1 1 1 2m +deployment.apps/cds-controller-blueprints 1 1 1 1 2m +NAME DESIRED CURRENT READY AGE +replicaset.apps/cds-blueprints-processor-54f758d69f 1 1 0 2m +replicaset.apps/cds-cds-6bd674dc77 1 1 1 2m +replicaset.apps/cds-controller-blueprints-545bbf98cf 1 1 1 2m +NAME DESIRED CURRENT AGE +statefulset.apps/cds-cds-db 1 1 2m
\ No newline at end of file diff --git a/docs/userguide.rst b/docs/userguide.rst new file mode 100644 index 000000000..fcc1b8882 --- /dev/null +++ b/docs/userguide.rst @@ -0,0 +1,13 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +User guide +---------- + +.. toctree:: + :maxdepth: 1 + + installation + designtime + |