optimize size and time using "--no-cache-dir"
[appc/deployment.git] / docs / APPC Properties / APPC Properties.rst
1 .. ============LICENSE_START==========================================
2 .. ===================================================================
3 .. Copyright © 2017-2018 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
18 ===============
19 APPC Properties
20 ===============
21
22 Overview
23 ========
24
25 The primary properties file for appc is: `appc.properties
26 <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/appc.properties;h=b2d4e1c0dfe44a6c5d7cab4b9d2a0463b2889bfd;hb=HEAD>`_.
27
28 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.
29
30 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
31 <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=tree;f=installation/src/main/properties;h=9472f0eca62d393c7af7ebe69f55d02301616a3e;hb=refs/heads/master>`_.
32
33
34
35 Notes
36 =====
37
38 -  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>".
39
40 -  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).
41
42
43 appc.properties
44 ===============
45
46 **Event Listener Properties**
47
48 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
49 appc.demo.property_name or appc.LCM.property_name). In the below list, each property will be prefixed with "appc.eventListener".
50
51 -  **appc.eventListener.poolMembers**:
52    Comma separated list which defines the DMaaP servers which will be used by the event listener.
53 -  **appc.eventListener.topic.read**:
54    The DMaaP topic name that will be used for incoming messages.
55 -  **appc.eventListener.topic.write**:
56    The DMaaP topic name which will be used for outgoing messages.
57 -  **appc.eventListener.client.name**:
58    The DMaaP client name. The client name should be unique within the topic name that you are using.
59 -  **appc.eventListener.threads.queuesize.min**:
60    The minimum size of the event listener message processing queue. The listener will request new messages once the queue has dropped below this size.
61 -  **appc.eventListener.threads.queuesize.max**:
62    The maximum size of the event listener message processing queue. The listener will request no new messages once this maximum size has been reached.
63 -  **appc.eventListener.threads.poolsize.min**:
64    The minimum size of the worker threads pool. This is the pool each listener will use to launch longer running operations.
65 -  **appc.eventListener.threads.poolsize.max**:
66    The maximum size of the worker threads pool. This is the pool each listener will use to launch longer running operations.
67 -  **appc.eventListener.provider.url**:
68    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.
69 -  **appc.eventListener.provider.user / appc.eventListener.provider.pass**:
70    The username and password for the local OpenDaylight instance, defined by the url property above.
71
72
73 **Properties specific to the demo event listener and use case**
74
75 -  **appc.provider.vfodl.url**:
76    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.
77 -  **appc.service.logic.module.name**:
78    The module name in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
79 -  **appc.topology.dg.method**:
80    The method name in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
81 -  **appc.topology.dg.version**:
82    The version number in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
83
84 **IaaS (Infracstructure as a Service) Adapter**
85
86 The APPC IaaS Adapter is the southbound adapter of APPC which is responsible of executing VIM-based actions (i.e. OpenStack actions).
87
88 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>`_.
89
90 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.
91
92 -  **provider1.\* properties**:
93
94   -  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
95   -  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.
96   -  **Properties**:
97
98     -  **provider1.type**:
99        Default value is OpenStackProvider for OpenStack conn.
100     -  **provider1.name**:
101        Default value is OpenStackProvider for OpenStack conn.
102     -  **provider1.identity**:
103        The VIM authentication URL.
104     -  **provider1.tenant1.name**:
105        The Tenant Name of the VIM.
106     -  **provider1.tenant1.userid / provider1.tenant1.password**:
107        The VIM username and password.
108
109
110 -  **test.\* properties**:
111
112   -  Applies to the following features: appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle
113   -  These are properties that test OpenStack-based APPC API requests
114
115 -  **Other iaas properties**:
116
117   -  **org.onap.appc.iaas.skiphypervisorcheck**:
118      Skips the hypervisor check which usually occurs during iaas-adapter-bundle startup.
119   -  **org.onap.appc.server.state.change.timeout**:
120      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.
121   -  **org.onap.appc.openstack.poll.interval**:
122      The amount of time, in seconds, between subsequent polls to the openstack provider to update the state of a resource.
123   -  **org.onap.appc.stack.state.change.timeout**:
124      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.
125
126
127 **Other Properties**
128
129 -  **appc.sdc.\* properties**:
130
131   -  Used to connect to a SDC instance. Applies to the following feature: appc-sdc-listener-bundle
132   -  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.
133
134 -  **restconf.user, restconf.pass properties**:
135
136   -  Applies to the following features: appc-netconf-adapter-bundle, appc-dg-common
137   -  These properties can be defined to define the RESTCONF credentials needed to execute APPC API requests from the features impacted above.
138
139 -  **org.onap.appc.provider.retry.delay / org.onap.appc.provider.retry.limit**:
140
141   -  Applies to the following features: appc-rest-adapter-bundle, appc-iaas-adapter-bundle, appc-chef-adapter-bundle
142   -  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.
143
144 -  **appc.LCM.scopeOverlap.endpoint**:
145
146   -  Applies to appc-request-handler-core
147   -  Used to define the RESTCONF url of the interfaces-service
148   
149 **APPC Transactions Database Connection**
150
151 Applies to the following features: appc-dg-common, appc-command-executor-core, appc-request-handler-core, appc-workflow-management-core.
152
153 .. code:: bash
154         
155         # appcctl is the default name of the APPC Database Table, equivalent to sdnctl
156         org.onap.appc.db.url.appcctl=jdbc:mysql://<HOST_IP>:3306/appcctl
157         org.onap.appc.db.user.appcctl=appcctl
158         org.onap.appc.db.pass.appcctl=appcctl
159
160 aaiclient.properties
161 ====================
162 **AAI Adaptor (SDNC-based)**
163
164 APPC connects with ONAP AAI using the SDNC AAI service (sdnc-aai-service-<VERSION_NUMBER>.zip).
165
166 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>`_.
167
168 - **Example**:
169
170   .. code:: bash
171
172         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
173         org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=<SSL_Keystore_Password> # Default value for the default keystore is adminadmin
174         org.onap.ccsdk.sli.adaptors.aai.uri=<AAI_INSTANCE_LOCATION> # Default value is https://aai.api.simpledemo.openecomp.org:8443
175
176 appc-config-adaptor.properties
177 ==============================
178
179 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.
180
181 - **Example**:
182
183   .. code:: bash
184
185         configComponent.url=
186         configComponent.user= 
187         configComponent.passwd=
188         service-configuration-notification-url= 
189
190 appc-flow-controller.properties
191 ===============================
192
193 These properties provide urls and authentication to the sequence generator and healthcheck. Both of these are services are running in OpenDaylight.
194
195 - **Example**:
196
197   .. code:: bash
198
199         seq_generator_url=http://localhost:8181/restconf/operations/sequence-generator:generate-sequence
200         seq_generator.uid=admin
201         seq_generator.pwd=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
202         HealthCheck.mock=true
203         HealthCheck.context=/restconf/operations/appc-provider-lcm:health-check
204         HealthCheck.default-rest-user=TestUser
205         HealthCheck.default-rest-pass=TestPass
206
207
208 mdsal-resource.properties
209 =========================
210
211 These properties provide connection configuration for the ccsdk sli mdsal OpenDaylight feature.
212
213 - **Example**:
214
215   .. code:: bash
216
217         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-user=admin
218         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-passwd=admin
219         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-host=localhost
220         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-protocol=http
221         org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-port=8181
222
223 sql-resource.properties
224 =======================
225
226 This file should be pre-populated with a key used by the sdnc-sql-resource feature to decrypt database data.
227
228 - **Example**:
229
230   .. code:: bash
231
232         org.openecomp.sdnc.resource.sql.cryptkey=
233
234 dblib.properties
235 ================
236 **Database Connection**
237
238 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.
239
240 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>`_.
241
242 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.
243
244 .. code:: bash
245
246         org.onap.ccsdk.sli.jdbc.hosts=<HOST>
247         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME>
248         org.onap.ccsdk.sli.jdbc.database=<DB_NAME>
249         org.onap.ccsdk.sli.jdbc.user=<DB_USER>
250         org.onap.ccsdk.sli.jdbc.password=<DB_PASSWORD>
251         org.onap.ccsdk.sli.jdbc.connection.name=<DB_CONNECTION_NAME>
252         org.onap.ccsdk.sli.jdbc.limit.init=<CONNECTION_POOL_INIT_SIZE> # default is 10
253         org.onap.ccsdk.sli.jdbc.limit.min=<CONNECTION_POOL_MAX_SIZE> # default is 10
254         org.onap.ccsdk.sli.jdbc.limit.max=<CONNECTION_POOL_MAX_SIZE> # default is 20
255
256
257 svclogic.properties
258 ===================
259 **Service Logic Interpreter (SLI) - SVCLOGIC**
260
261 APPC uses the SDNC SLI service (*sdnc-sli-<VERSION_NUMBER>.zip*) to execute the DG.
262
263 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>`_.
264
265 .. code:: bash
266         
267         org.onap.ccsdk.sli.dbtype = jdbc
268
269         # Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
270         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME> # jdbc:mysql://localhost:3306/sdnctl
271         org.onap.ccsdk.sli.jdbc.database=<DB_NAME> # e.g. sdnctl
272         org.onap.ccsdk.sli.jdbc.user=<USER> # e.g. sdnctl
273         org.onap.ccsdk.sli.jdbc.password=<PASSWORD>
274
275 designService.properties
276 ========================
277
278 APPC uses design-services to support the Controller Design Tool
279
280 To configure design services to work correctly, the following properties need to be configured in */opt/onap/appc/data/properties/designService.properties*. The current default properties for design services is located in `designService.properties <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob;f=installation/src/main/properties/designService.properties;h=7900843184eb41f518156e6f285d21adce5fae2e;hb=HEAD>`_.
281
282 .. code:: bash
283         
284         appc.upload.user=<USER> //Eg: admin
285         appc.upload.pass=<PASSWORD> //Eg: admin
286         appc.upload.provider.url=<RestConf End Point for Artifact handler:uploadArtifact> // Eg:http://localhost:8181/restconf/operations/artifact-handler:uploadartifact