blob: aa4f6b55926fda7e1efde70bde6dd0507cd68830 [file] [log] [blame]
Ezhilarasid5fc3a62019-04-12 19:22:55 +05301.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3.. Copyright (C) 2019 IBM.
4
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -04005Resource Assignment
6===================
Ezhilarasid5fc3a62019-04-12 19:22:55 +05307.. toctree::
8 :maxdepth: 1
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -04009
10
Ezhilarasid5fc3a62019-04-12 19:22:55 +053011Component executor:
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -040012-------------------
Ezhilarasid5fc3a62019-04-12 19:22:55 +053013Workflow:
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -040014~~~~~~~~~
Ezhilarasid5fc3a62019-04-12 19:22:55 +053015
16A 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.
17
18A CBA can have as many workflow as needed.
19
20Template:
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -040021~~~~~~~~~
Ezhilarasid5fc3a62019-04-12 19:22:55 +053022
23A template is an artifact.
24
25A template is parameterized and each parameter must be defined in a corresponding mapping file.
26
27In 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.
28
29The requirement is as follow:
30
31${artifact-prefix}-template
32${artifact-prefix}-mapping
33
34A template can represent anything, such as device config, payload to interact with 3rd party systems, resource-accumulator template, etc...
35
36Mapping:
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -040037~~~~~~~~
Ezhilarasid5fc3a62019-04-12 19:22:55 +053038Defines the contract of each resource to be resolved. Each placeholder in the template must have a corresponding mapping definition.
39
40A mapping is comprised of:
41
42- name
43- required / optional
44- type (support complex type)
45- dictionary-name
46- dictionary-source
47
48Dependencies:
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -040049~~~~~~~~~~~~~
Ezhilarasid5fc3a62019-04-12 19:22:55 +053050
51This allows to make sure given resources get resolved prior the resolution of the resources defining the dependency.
52The dictionary fields reference to a specific data dictionary.
53
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -040054
Ezhilarasid5fc3a62019-04-12 19:22:55 +053055Resource accumulator:
Singal, Kapil (ks220y)51e7c122020-09-25 17:22:54 -040056---------------------
Ezhilarasid5fc3a62019-04-12 19:22:55 +053057
58In order to resolve HEAT environment variables, resource accumulator templates are being in used for Dublin.
59
60These templates are specific to the pre-instantiation scenario, and relies on GR-API within SDNC.
61
62It is composed of the following sections:
63
64resource-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.
65
66capability-data: defines what capability to use to create a specific resource, along with the ingredients required to invoke the capability and the output mapping.
67
68- Scripts
69- Library
70- NetconfClient
71
72In 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.
73
74The client can be find here: https://github.com/onap/ccsdk-apps/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py