Deployment onap rename
[appc/deployment.git] / docs / APPC Properties / APPC Properties.rst
1 .. ============LICENSE_START==========================================
2 .. ===================================================================
3 .. Copyright © 2017 AT&T Intellectual Property. All rights reserved.
4 .. ===================================================================
5 .. Licensed under the Creative Commons License, Attribution 4.0 Intl.  (the "License");
6 .. you may not use this documentation except in compliance with the License.
7 .. You may obtain a copy of the License at
8 .. 
9 ..  https://creativecommons.org/licenses/by/4.0/
10 .. 
11 .. Unless required by applicable law or agreed to in writing, software
12 .. distributed under the License is distributed on an "AS IS" BASIS,
13 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 .. See the License for the specific language governing permissions and
15 .. limitations under the License.
16 .. ============LICENSE_END============================================
17 .. ECOMP is a trademark and service mark of AT&T Intellectual Property.
18
19 ===============
20 APPC Properties
21 ===============
22
23 Overview
24 ========
25
26 The primary properties file for appc is: `appc.properties
27 <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/appc.properties;h=b2d4e1c0dfe44a6c5d7cab4b9d2a0463b2889bfd;hb=HEAD>`_.
28
29 The properties in the appc.properties file override properties which are defined in "default.properties" files throughout the project. The properties in these default files should not be modified, instead the properties should be added to the appc.properties which will override the default values.
30
31 There are several other property files as well, which are covered on this page. All property files can be found in the `appc deployment project /installation/src/main/properties
32 <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=tree;f=installation/src/main/properties;h=9472f0eca62d393c7af7ebe69f55d02301616a3e;hb=refs/heads/master>`_.
33
34
35
36 Notes
37 =====
38
39 -  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>".
40
41 -  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/onap/appc/data/properties* (default parameter value).
42
43
44 appc.properties
45 ===============
46
47 **Event Listener Properties**
48
49 Each event listener which is defined ("LCM" and "demo" by default) has the following properties. Each property name is prefixed by the event listener which the property is for (for example
50 appc.demo.property_name or appc.LCM.property_name). In the below list, each property will be prefixed with "appc.eventListener".
51
52 -  **appc.eventListener.poolMembers**:
53    Comma separated list which defines the DMaaP servers which will be used by the event listener.
54 -  **appc.eventListener.topic.read**:
55    The DMaaP topic name that will be used for incoming messages.
56 -  **appc.eventListener.topic.write**:
57    The DMaaP topic name which will be used for outgoing messages.
58 -  **appc.eventListener.client.name**:
59    The DMaaP client name. The client name should be unique within the topic name that you are using.
60 -  **appc.eventListener.threads.queuesize.min**:
61    The minimum size of the event listener message processing queue. The listener will request new messages once the queue has dropped below this size.
62 -  **appc.eventListener.threads.queuesize.max**:
63    The maximum size of the event listener message processing queue. The listener will request no new messages once this maximum size has been reached.
64 -  **appc.eventListener.threads.poolsize.min**:
65    The minimum size of the worker threads pool. This is the pool each listener will use to launch longer running operations.
66 -  **appc.eventListener.threads.poolsize.max**:
67    The maximum size of the worker threads pool. This is the pool each listener will use to launch longer running operations.
68 -  **appc.eventListener.provider.url**:
69    The url of the local OpenDaylight instance that the event listener will use to process the DMaaP message once it has been parsed into the correct format.
70 -  **appc.eventListener.provider.user / appc.eventListener.provider.pass**:
71    The username and password for the local OpenDaylight instance, defined by the url property above.
72
73
74 **Properties specific to the demo event listener and use case**
75
76 -  **appc.provider.vfodl.url**:
77    The URl to the pg-streams method of the mounted vfirewall/traffic generator. The url string should have the placeholder "NODE_NAME", which will be filled in by the "generic-vnf.vnf-id" of the incoming DMaaP message.
78 -  **appc.service.logic.module.name**:
79    The module name in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
80 -  **appc.topology.dg.method**:
81    The method name in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
82 -  **appc.topology.dg.version**:
83    The version number in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
84
85 **IaaS (Infracstructure as a Service) Adapter**
86
87 The APPC IaaS Adapter is the southbound adapter of APPC which is responsible of executing VIM-based actions (i.e. OpenStack actions).
88
89 To initialize the IaaS Adapter service, the following properties need to be configured in */opt/onap/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>`_.
90
91 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.
92
93 -  **provider1.\* properties**:
94
95   -  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
96   -  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.
97   -  **Properties**:
98
99     -  **provider1.type**:
100        Default value is OpenStackProvider for OpenStack conn.
101     -  **provider1.name**:
102        Default value is OpenStackProvider for OpenStack conn.
103     -  **provider1.identity**:
104        The VIM authentication URL.
105     -  **provider1.tenant1.name**:
106        The Tenant Name of the VIM.
107     -  **provider1.tenant1.userid / provider1.tenant1.password**:
108        The VIM username and password.
109
110
111 -  **test.\* properties**:
112
113   -  Applies to the following features: appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle
114   -  These are properties that test OpenStack-based APPC API requests
115
116 -  **Other iaas properties**:
117
118   -  **org.onap.appc.iaas.skiphypervisorcheck**:
119      Skips the hypervisor check which usually occurs during iaas-adapter-bundle startup.
120   -  **org.onap.appc.server.state.change.timeout**:
121      The amount of time, in seconds, that the application waits for a change of state of a server to a known valid state before giving up and failing the request.
122   -  **org.onap.appc.openstack.poll.interval**:
123      The amount of time, in seconds, between subsequent polls to the openstack provider to update the state of a resource.
124   -  **org.onap.appc.stack.state.change.timeout**:
125      The amount of time, in seconds, that the application waits for a change of state of a stacj to a known valid state before giving up and failing the request.
126
127
128 **Other Properties**
129
130 -  **appc.sdc.\* properties**:
131
132   -  Used to connect to a SDC instance. Applies to the following feature: appc-sdc-listener-bundle
133   -  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.
134
135 -  **restconf.user, restconf.pass properties**:
136
137   -  Applies to the following features: appc-netconf-adapter-bundle, appc-dg-common
138   -  These properties can be defined to define the RESTCONF credentials needed to execute APPC API requests from the features impacted above.
139
140 -  **org.onap.appc.provider.retry.delay / org.onap.appc.provider.retry.limit**:
141
142   -  Applies to the following features: appc-rest-adapter-bundle, appc-iaas-adapter-bundle, appc-chef-adapter-bundle
143   -  These properties are used to configure the retry logic for connection to the IaaS provider(s).  The retry delay property is the amount of time, in seconds, the application waits between retry attempts.  The retry limit is the number of retries that are allowed before the request is failed.
144
145 **APPC Transactions Database Connection**
146
147 Applies to the following features: appc-dg-common, appc-command-executor-core, appc-request-handler-core, appc-workflow-management-core.
148
149 .. code:: bash
150         
151         # appcctl is the default name of the APPC Database Table, equivalent to sdnctl
152         org.onap.appc.db.url.appcctl=jdbc:mysql://<HOST_IP>:3306/appcctl
153         org.onap.appc.db.user.appcctl=appcctl
154         org.onap.appc.db.pass.appcctl=appcctl
155
156 aaiclient.properties
157 ====================
158 **AAI Adaptor (SDNC-based)**
159
160 APPC connects with ONAP AAI using the SDNC AAI service (sdnc-aai-service-<VERSION_NUMBER>.zip).
161
162 To initialize AAI services on an APPC instance, the following AAI properties need to be configured in */opt/onap/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>`_.
163
164 - **Example**:
165
166   .. code:: bash
167
168         org.onap.ccsdk.sli.adaptors.aai.ssl.trust=<SSL_Keystore_location> # Default value is /opt/onap/appc/data/stores/truststore.openecomp.client.jks - this default keystore currently exists in that path
169         org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=<SSL_Keystore_Password> # Default value for the default keystore is adminadmin
170         org.onap.ccsdk.sli.adaptors.aai.uri=<AAI_INSTANCE_LOCATION> # Default value is https://aai.api.simpledemo.openecomp.org:8443
171
172 appc-config-adaptor.properties
173 ==============================
174
175 These properties provide urls and authentication for the appc config component and appc audit component services. These properties are used in the appc-config-adaptor bundle.
176
177 - **Example**:
178
179   .. code:: bash
180
181         configComponent.url=
182         configComponent.user= 
183         configComponent.passwd=
184         service-configuration-notification-url= 
185
186 appc-flow-controller.properties
187 ===============================
188
189 These properties provide urls and authentication to the sequence generator and healthcheck. Both of these are services are running in OpenDaylight.
190
191 - **Example**:
192
193   .. code:: bash
194
195         seq_generator_url=http://localhost:8181/restconf/operations/sequence-generator:generate-sequence
196         seq_generator.uid=admin
197         seq_generator.pwd=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
198         HealthCheck.mock=true
199         HealthCheck.context=/restconf/operations/appc-provider-lcm:health-check
200         HealthCheck.default-rest-user=TestUser
201         HealthCheck.default-rest-pass=TestPass
202
203
204 mdsal-resource.properties
205 =========================
206
207 These properties provide connection configuration for the ccsdk sli mdsal OpenDaylight feature.
208
209 - **Example**:
210
211   .. code:: bash
212
213         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-user=admin
214         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-passwd=admin
215         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-host=localhost
216         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-protocol=http
217         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-port=8181
218
219 sql-resource.properties
220 =======================
221
222 This file should be pre-populated with a key used by the sdnc-sql-resource feature to decrypt database data.
223
224 - **Example**:
225
226   .. code:: bash
227
228         org.openecomp.sdnc.resource.sql.cryptkey=
229
230 dblib.properties
231 ================
232 **Database Connection**
233
234 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.
235
236 This library uses the file, */opt/onap/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>`_.
237
238 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.
239
240 .. code:: bash
241
242         org.onap.ccsdk.sli.jdbc.hosts=<HOST>
243         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME>
244         org.onap.ccsdk.sli.jdbc.database=<DB_NAME>
245         org.onap.ccsdk.sli.jdbc.user=<DB_USER>
246         org.onap.ccsdk.sli.jdbc.password=<DB_PASSWORD>
247         org.onap.ccsdk.sli.jdbc.connection.name=<DB_CONNECTION_NAME>
248         org.onap.ccsdk.sli.jdbc.limit.init=<CONNECTION_POOL_INIT_SIZE> # default is 10
249         org.onap.ccsdk.sli.jdbc.limit.min=<CONNECTION_POOL_MAX_SIZE> # default is 10
250         org.onap.ccsdk.sli.jdbc.limit.max=<CONNECTION_POOL_MAX_SIZE> # default is 20
251
252
253 svclogic.properties
254 ===================
255 **Service Logic Interpreter (SLI) - SVCLOGIC**
256
257 APPC uses the SDNC SLI service (*sdnc-sli-<VERSION_NUMBER>.zip*) to execute the DG.
258
259 To initialize SLI services, the following properties need to be configured in */opt/onap/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>`_.
260
261 .. code:: bash
262         
263         org.onap.ccsdk.sli.dbtype = jdbc
264
265         # Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
266         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME> # jdbc:mysql://localhost:3306/sdnctl
267         org.onap.ccsdk.sli.jdbc.database=<DB_NAME> # e.g. sdnctl
268         org.onap.ccsdk.sli.jdbc.user=<USER> # e.g. sdnctl
269         org.onap.ccsdk.sli.jdbc.password=<PASSWORD>