Update APPC Properties Documentation
[appc/deployment.git] / docs / APPC Properties / APPC Properties.rst
1 =========================
2 APPC Available Properties
3 =========================
4
5 Overview
6 ========
7
8 The current list of properties that can be overwritten from all
9 default.properties files to `appc.properties
10 <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/appc.properties;h=b2d4e1c0dfe44a6c5d7cab4b9d2a0463b2889bfd;hb=HEAD>`_ are listed below. Please note
11 that some properties have default values since some code requires it to
12 be defined as part of the building/compilation process.
13
14 -  The only defined property values in appc.properties are the
15    following:
16
17    -  "appc.demo.\*" properties (needed for demo)
18    -  "appc.provider.vfodl.url" property (needed for demo)
19    -  "appc.service.logic.module.name" property (needed for demo)
20    -  "appc.topology.dg.\*" properties (needed for demo)
21
22 Properties List
23 ===============
24
25 The following features have properties that can be defined by the user as explained below:
26
27 **DMaaP Event Bus**
28
29 APPC sends asynchronous responses using the DMaaP. It also receives requests from DMaaP (see the `APPC API Guide <http://onap.readthedocs.io/en/latest/submodules/appc.git/docs/APPC%20API%20Guide/APPC%20API%20Guide.html>`_ for further details).
30
31 The DMaaP Adapter Bundle handles all DMaaP operations (send / receive messages), and requires the following properties configured in */opt/openecomp/appc/data/properties/appc.properties*.
32
33 -  **dmaap.poolMembers property**:
34
35   -  Applies to the following features: appc-command-executor-core, appc-license-manager-core, appc-lifecycle-management-core, appc-request-handler-core, and appc-workflow-management-core (all part of the appc-dispatcher package)
36   -  Defines the DMaaP IP or URL location of the DMaaP Pool Members involved in the DMaaP Communication of that feature in specific (NOTE: More than one Pool Member can be defined in the form of a comma-delimited list)
37
38 -  **appc.ClosedLoop.\* properties** & **appc.ClosedLoop1607.\* properties**:
39
40   -  Applies to the following feature: appc-event-listener-bundle
41   -  These properties define in which DMaaP will the appc-event-listener feature will listen in
42
43 -  **appc.LCM.\* properties**:
44
45   -  Applies to the following features: appc-event-listener-bundle, appc-command-executor-core, appc-license-manager-core, appc-request-handler-core, appc-workflow-management-core, and appc-lifecycle-management-core
46   -  These properties define in which DMaaP will the appc-event-listener feature will listen in. These properties are especifically used to define LCM (LifeCycle Management) actions, and are only used as part of JUnit Test Cases.
47
48 -  **Other properties**:
49
50   -  \*poolMembers, event.pool.members
51
52     -  Applies to the following features: appc-netconf-adapter-bundle, appc-dg-common, appc-dmaap-adapter-bundle
53     -  These properties can be defined to use the features defined above. They are used to point to current DMaaP listener
54
55 -  **Example**:
56
57   .. code:: bash
58
59         ### Asynchronous responses ###
60         dmaap.topic.write=<WRITE_TOPIC> // e.g. async_demo
61         dmaap.poolMembers= <HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904
62
63         ### DG events (asynchronous) in case of failures ###
64         DCAE.event.topic.write=<WRITE_TOPIC> // e.g. event_demo
65         DCAE.event.pool.members=<HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904
66
67         ### LCM API (rpc) – synchronous ###
68         # The following properties are required for sending an LCM request over DMaaP
69         appc.LCM.provider.url=https://localhost:8443/restconf/operations/appc-provider-lcm
70         appc.LCM.poolMembers=<HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904
71         appc.LCM.topic.read=<READ_TOPIC> # e.g. test123
72         appc.LCM.topic.write=<WRITE_TOPIC> # e.g. APPC-LCM-TEST
73         appc.LCM.client.name=<CLIENT_NAME> # e.g name1
74         appc.LCM.client.name.id=<CLIENT_ID> # e.g 0
75         appc.LCM.provider.user=<LCM PROVIDER Username> # e.g. admin
76         appc.LCM.provider.pass=<LCM PROVIDER Username> # e.g. admin
77
78
79 **AAI Adaptor (SDNC-based)**
80
81 APPC connects with ONAP AAI using the SDNC AAI service (sdnc-aai-service-<VERSION_NUMBER>.zip).
82
83 To initialize AAI services on an APPC instance, the following AAI properties need to be configured in */opt/openecomp/appc/data/properties/aaiclient.properties*. The current default properties for AAI are located in `aaiclient.properties <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/aaiclient.properties;h=c3cd088c2c97253ff56d341d749d5da9df385929;hb=HEAD>`_.
84
85 - **Example**:
86
87   .. code:: bash
88
89         org.onap.ccsdk.sli.adaptors.aai.ssl.trust=<SSL_Keystore_location> # Default value is /opt/openecomp/appc/data/stores/truststore.openecomp.client.jks - this default keystore currently exists in that path
90         org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=<SSL_Keystore_Password> # Default value for the default keystore is adminadmin
91         org.onap.ccsdk.sli.adaptors.aai.uri=<AAI_INSTANCE_LOCATION> # Default value is https://aai.api.simpledemo.openecomp.org:8443
92
93
94 **Database Connection**
95
96 APPC uses the SDNC dblib service (*sdnc-dblib-<VERSION_NUMBER>.zip*) for all database operations. The SQL driver used to connect to the MySQL Database is the MariaDB Driver/Connector.
97
98 This library uses the file, */opt/openecomp/appc/data/properties/dblib.properties*, which contains the requisite database properties, such as host, user and password. The current default properties for dblib are located in `dblib.properties <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/dblib.properties;h=baf2f53d2900f5e1cb503951efe1857f7921b810;hb=HEAD>`_.
99
100 NOTE: The values in the default dblib.properties (link referenced above) are the default ones. These values do not need to be changed and can be left as is in order to connect to the default MySQL Database Docker Container when deploying APPC using docker-compose.
101
102 .. code:: bash
103
104         org.onap.ccsdk.sli.jdbc.hosts=<HOST>
105         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME>
106         org.onap.ccsdk.sli.jdbc.database=<DB_NAME>
107         org.onap.ccsdk.sli.jdbc.user=<DB_USER>
108         org.onap.ccsdk.sli.jdbc.password=<DB_PASSWORD>
109         org.onap.ccsdk.sli.jdbc.connection.name=<DB_CONNECTION_NAME>
110         org.onap.ccsdk.sli.jdbc.limit.init=<CONNECTION_POOL_INIT_SIZE> # default is 10
111         org.onap.ccsdk.sli.jdbc.limit.min=<CONNECTION_POOL_MAX_SIZE> # default is 10
112         org.onap.ccsdk.sli.jdbc.limit.max=<CONNECTION_POOL_MAX_SIZE> # default is 20
113
114
115 **APPC Transactions Database Connection**
116
117 Applies to the following features: appc-dg-common, appc-command-executor-core, appc-request-handler-core, appc-workflow-management-core.
118
119 .. code:: bash
120         
121         # appcctl is the default name of the APPC Database Table, equivalent to sdnctl
122         org.openecomp.appc.db.url.appcctl=jdbc:mysql://<HOST_IP>:3306/appcctl
123         org.openecomp.appc.db.user.appcctl=appcctl
124         org.openecomp.appc.db.pass.appcctl=appcctl
125
126
127 **Service Logic Interpreter (SLI) - SVCLOGIC**
128
129 APPC uses the SDNC SLI service (*sdnc-sli-<VERSION_NUMBER>.zip*) to execute the DG.
130
131 To initialize SLI services, the following properties need to be configured in */opt/openecomp/appc/data/properties/svclogic.properties*. The database operations performed from the DG also use this database configuration. The current default properties for SLI are located in `svclogic.properties <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/svclogic.properties;h=7900843184eb41f518156e6f285d21adce5fae2e;hb=HEAD>`_.
132
133 .. code:: bash
134         
135         org.onap.ccsdk.sli.dbtype = jdbc
136
137         # Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
138         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME> # jdbc:mysql://localhost:3306/sdnctl
139         org.onap.ccsdk.sli.jdbc.database=<DB_NAME> # e.g. sdnctl
140         org.onap.ccsdk.sli.jdbc.user=<USER> # e.g. sdnctl
141         org.onap.ccsdk.sli.jdbc.password=<PASSWORD>
142
143
144 **IaaS (Infracstructure as a Service) Adapter**
145
146 The APPC IaaS Adapter is the southbound adapter of APPC which is responsible of executing VIM-based actions (i.e. OpenStack actions).
147
148 To initialize the IaaS Adapter service, the following properties need to be configured in */opt/openecomp/appc/data/properties/appc.properties*. The current default properties for the IaaS adaptor are located in `here <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/appc.properties;h=7900843184eb41f518156e6f285d21adce5fae2e;hb=HEAD>`_.
149
150 Note: The IaaS Adapter currently supports the OpenStack VIM *only*, and uses the CDP Libraries to implement the code necessary to run VIM-based LCM actions.
151
152 -  **provider1.\* properties**:
153
154   -  Applies to the following features: appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle, appc-ansible-adapter-bundle, appc-rest-healthcheck-adapter-bundle
155   -  These properties need to be defined in order to use OpenStack-based API executions. For example, the APPC function "restart" is in charge of restarting a VM when requested. Therefore, properties such as OpenStack credentials, tenant name, VM ID, and others pre-defined in the appc.properties need to be defined with the information of the OpenStack Environment you are deploying APPC from.
156
157 -  **test.\* properties**:
158
159   -  Applies to the following features: appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle
160   -  These are properties that test OpenStack-based APPC API requests
161
162 -  **Example**:
163
164   .. code:: bash
165
166         # Provider (VIM) configuration
167         provider1.type=<VIM_TYPE> # default value is OpenStackProvider for OpenStack conn.
168         provider1.name=<VIM_PROVIDER_NAME> # default value is OpenStack for OpenStack conn.
169         provider1.identity=<VIM_IDENTITY_URL> # The VIM authentication URL
170         provider1.tenant1.name=<TENANT_NAME> # The Tenant Name of the VIM
171         provider1.tenant1.userid=<USER_NAME> # The VIM username
172         provider1.tenant1.password=<PASSWORD> # The VIM password
173
174
175 **Other Properties**
176
177 -  **appc.sdc.\* properties**:
178
179   -  Used to connect to a SDC instance. Applies to the following feature: appc-sdc-listener-bundle
180   -  These properties are used to test integration between the SDC ONAP component & APPC. Properties such as pointing to the DMaaP listener & topic, SDC credentials to authenticate into the SDC component, define the RESTCONF URL, and others are mapped here.
181
182 -  **restconf.user, restconf.pass properties**:
183
184   -  Applies to the following features: appc-netconf-adapter-bundle, appc-dg-common
185   -  These properties can be defined to define the RESTCONF credentials needed to execute APPC API requests from the features impacted above.
186
187
188 **Notes**
189
190 -  When changing a property, please make sure to restart the APPC Docker Container so that the changes kick in using "docker stop <APPC_CONTAINER_NAME>" and then "docker start <APPC_CONTAINER_NAME>".
191
192 -  When deploying APPC using the `docker-compose.yml <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=docker-compose/docker-compose.yml;h=f95a5fed5820a263a546eded6b1e9bdb8eff9a0b;hb=HEAD>`_ script, please make sure that the *SDNC_CONFIG_DIR* environment variable in the appc container configuration parameters points to */opt/openecomp/appc/data/properties* (default parameter value).