From b7beaee4f6759c1c5997713901f6f5a1dfdb1d2d Mon Sep 17 00:00:00 2001 From: JakobKrieg Date: Tue, 1 Dec 2020 14:17:11 +0100 Subject: CDS Read the Docs refactoring Issue-ID: CCSDK-3011 Change-Id: Id8cff94b104bfa03643eb534e36c2bce8b0b4088 Signed-off-by: JakobKrieg --- docs/userguides/design-time-guide/designtime.rst | 50 +++++++++++++++ .../design-time-guide/resourceassignment.rst | 74 ++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 docs/userguides/design-time-guide/designtime.rst create mode 100644 docs/userguides/design-time-guide/resourceassignment.rst (limited to 'docs/userguides/design-time-guide') diff --git a/docs/userguides/design-time-guide/designtime.rst b/docs/userguides/design-time-guide/designtime.rst new file mode 100644 index 000000000..52b6e55b9 --- /dev/null +++ b/docs/userguides/design-time-guide/designtime.rst @@ -0,0 +1,50 @@ +.. 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 Tools Guide +======================= + +Below 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: 2 + + ../../cba/index + ../../resourcedefinition/index + resourceassignment diff --git a/docs/userguides/design-time-guide/resourceassignment.rst b/docs/userguides/design-time-guide/resourceassignment.rst new file mode 100644 index 000000000..aa4f6b559 --- /dev/null +++ b/docs/userguides/design-time-guide/resourceassignment.rst @@ -0,0 +1,74 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +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. + +A template is parameterized and each parameter must be defined in a corresponding mapping file. + +In order to know which mapping correlate to which template, the file name must start with an artifact-prefix, serving as identifier to the overall template + mapping. + +The requirement is as follow: + +${artifact-prefix}-template +${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: + +- name +- required / optional +- type (support complex type) +- dictionary-name +- 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. + +These templates are specific to the pre-instantiation scenario, and relies on GR-API within SDNC. + +It is composed of the following sections: + +resource-accumulator-resolved-data: defines all the resources that can be resolved directly from the context. It expresses a direct mapping between the name of the resource and its value. + +capability-data: defines what capability to use to create a specific resource, along with the ingredients required to invoke the capability and the output mapping. + +- Scripts +- Library +- NetconfClient + +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 netconf-component-executor. + +The client can be find here: https://github.com/onap/ccsdk-apps/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py \ No newline at end of file -- cgit 1.2.3-korg