Changes to property docs
[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 Available 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/openecomp/appc/data/properties* (default parameter value).
42
43
44 appc.properties
45 ===============
46
47 The following features have properties that can be defined by the user as explained below:
48 **Event Listener Properties**
49
50 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
51 appc.demo.property_name or appc.LCM.property_name). In the below list, each property will be prefixed with "appc.eventListener".
52
53 -  **appc.eventListener.poolMembers**:
54    Comma separated list which defines the DMaaP servers which will be used by the event listener.
55 -  **appc.eventListener.topic.read**:
56    The DMaaP topic name that will be used for incoming messages.
57 -  **appc.eventListener.topic.write**:
58    The DMaaP topic name which will be used for outgoing messages.
59 -  **appc.eventListener.client.name**:
60    The DMaaP client name. The client name should be unique within the topic name that you are using.
61 -  **appc.eventListener.threads.queuesize.min**:
62    The minimum size of the event listener message processing queue. The listener will request new messages once the queue has dropped below this size.
63 -  **appc.eventListener.threads.queuesize.max**:
64    The maximum size of the event listener message processing queue. The listener will request no new messages once this maximum size has been reached.
65 -  **appc.eventListener.threads.poolsize.min**:
66    The minimum size of the worker threads pool. This is the pool each listener will use to launch longer running operations.
67 -  **appc.eventListener.threads.poolsize.max**:
68    The maximum size of the worker threads pool. This is the pool each listener will use to launch longer running operations.
69 -  **appc.eventListener.provider.url**:
70    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.
71 -  **appc.eventListener.provider.user / appc.eventListener.provider.pass**:
72    The username and password for the local OpenDaylight instance, defined by the url property above.
73
74 -  **Example**:
75
76   .. code:: bash
77
78         ### Asynchronous responses ###
79         dmaap.topic.write=<WRITE_TOPIC> // e.g. async_demo
80         dmaap.poolMembers= <HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904
81
82         ### DG events (asynchronous) in case of failures ###
83         DCAE.event.topic.write=<WRITE_TOPIC> // e.g. event_demo
84         DCAE.event.pool.members=<HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904
85
86         ### LCM API (rpc) – synchronous ###
87         # The following properties are required for sending an LCM request over DMaaP
88         appc.LCM.poolMembers=<HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904
89         appc.LCM.topic.read=<READ_TOPIC> # e.g. test123
90         appc.LCM.topic.write=<WRITE_TOPIC> # e.g. APPC-LCM-TEST
91         appc.LCM.client.name=<CLIENT_NAME> # e.g name1
92         appc.LCM.client.name.id=<CLIENT_ID> # e.g 0
93         appc.LCM.provider.url=https://localhost:8443/restconf/operations/appc-provider-lcm
94         appc.LCM.provider.user=<LCM PROVIDER Username> # e.g. admin
95         appc.LCM.provider.pass=<LCM PROVIDER Username> # e.g. admin
96
97 **Properties specific to the demo event listener and use case**
98
99 -  **appc.provider.vfodl.url**:
100    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.
101 -  **appc.service.logic.module.name**:
102    The module name in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
103 -  **appc.topology.dg.method**:
104    The method name in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
105 -  **appc.topology.dg.version**:
106    The version number in the svclogic database table of the directed graph which will be used by the demo provider to process the request.
107
108 **IaaS (Infracstructure as a Service) Adapter**
109
110 The APPC IaaS Adapter is the southbound adapter of APPC which is responsible of executing VIM-based actions (i.e. OpenStack actions).
111
112 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>`_.
113
114 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.
115
116 -  **provider1.\* properties**:
117
118   -  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
119   -  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.
120   -  **Properties**:
121
122     -  **provider1.type**:
123        Default value is OpenStackProvider for OpenStack conn.
124     -  **provider1.name**:
125        Default value is OpenStackProvider for OpenStack conn.
126     -  **provider1.identity**:
127        The VIM authentication URL.
128     -  **provider1.tenant1.name**:
129        The Tenant Name of the VIM.
130     -  **provider1.tenant1.userid / provider1.tenant1.password**:
131        The VIM username and password.
132
133
134 -  **test.\* properties**:
135
136   -  Applies to the following features: appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle
137   -  These are properties that test OpenStack-based APPC API requests
138
139 -  **Other iaas properties**:
140
141   -  **org.openecomp.appc.iaas.skiphypervisorcheck**:
142      Skips the hypervisor check which usually occurs during iaas-adapter-bundle startup.
143   -  **org.openecomp.appc.server.state.change.timeout**:
144      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.
145   -  **org.openecomp.appc.openstack.poll.interval**:
146      The amount of time, in seconds, between subsequent polls to the openstack provider to update the state of a resource.
147   -  **org.openecomp.appc.stack.state.change.timeout**:
148      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.
149
150
151 **Other Properties**
152
153 -  **appc.sdc.\* properties**:
154
155   -  Used to connect to a SDC instance. Applies to the following feature: appc-sdc-listener-bundle
156   -  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.
157
158 -  **restconf.user, restconf.pass properties**:
159
160   -  Applies to the following features: appc-netconf-adapter-bundle, appc-dg-common
161   -  These properties can be defined to define the RESTCONF credentials needed to execute APPC API requests from the features impacted above.
162
163 -  **org.openecomp.appc.provider.retry.delay / org.openecomp.appc.provider.retry.limit**:
164
165   -  Applies to the following features: appc-rest-adapter-bundle, appc-iaas-adapter-bundle, appc-chef-adapter-bundle
166   -  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.
167
168 **APPC Transactions Database Connection**
169
170 Applies to the following features: appc-dg-common, appc-command-executor-core, appc-request-handler-core, appc-workflow-management-core.
171
172 .. code:: bash
173         
174         # appcctl is the default name of the APPC Database Table, equivalent to sdnctl
175         org.openecomp.appc.db.url.appcctl=jdbc:mysql://<HOST_IP>:3306/appcctl
176         org.openecomp.appc.db.user.appcctl=appcctl
177         org.openecomp.appc.db.pass.appcctl=appcctl
178
179 aaiclient.properties
180 ====================
181 **AAI Adaptor (SDNC-based)**
182
183 APPC connects with ONAP AAI using the SDNC AAI service (sdnc-aai-service-<VERSION_NUMBER>.zip).
184
185 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>`_.
186
187 - **Example**:
188
189   .. code:: bash
190
191         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
192         org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=<SSL_Keystore_Password> # Default value for the default keystore is adminadmin
193         org.onap.ccsdk.sli.adaptors.aai.uri=<AAI_INSTANCE_LOCATION> # Default value is https://aai.api.simpledemo.openecomp.org:8443
194
195
196 dblib.properties
197 ================
198 **Database Connection**
199
200 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.
201
202 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>`_.
203
204 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.
205
206 .. code:: bash
207
208         org.onap.ccsdk.sli.jdbc.hosts=<HOST>
209         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME>
210         org.onap.ccsdk.sli.jdbc.database=<DB_NAME>
211         org.onap.ccsdk.sli.jdbc.user=<DB_USER>
212         org.onap.ccsdk.sli.jdbc.password=<DB_PASSWORD>
213         org.onap.ccsdk.sli.jdbc.connection.name=<DB_CONNECTION_NAME>
214         org.onap.ccsdk.sli.jdbc.limit.init=<CONNECTION_POOL_INIT_SIZE> # default is 10
215         org.onap.ccsdk.sli.jdbc.limit.min=<CONNECTION_POOL_MAX_SIZE> # default is 10
216         org.onap.ccsdk.sli.jdbc.limit.max=<CONNECTION_POOL_MAX_SIZE> # default is 20
217
218
219 svclogic.properties
220 ===================
221 **Service Logic Interpreter (SLI) - SVCLOGIC**
222
223 APPC uses the SDNC SLI service (*sdnc-sli-<VERSION_NUMBER>.zip*) to execute the DG.
224
225 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>`_.
226
227 .. code:: bash
228         
229         org.onap.ccsdk.sli.dbtype = jdbc
230
231         # Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
232         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME> # jdbc:mysql://localhost:3306/sdnctl
233         org.onap.ccsdk.sli.jdbc.database=<DB_NAME> # e.g. sdnctl
234         org.onap.ccsdk.sli.jdbc.user=<USER> # e.g. sdnctl
235         org.onap.ccsdk.sli.jdbc.password=<PASSWORD>