Updating APPC Deployment Titles
[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/openecomp/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/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>`_.
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.openecomp.appc.iaas.skiphypervisorcheck**:
119      Skips the hypervisor check which usually occurs during iaas-adapter-bundle startup.
120   -  **org.openecomp.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.openecomp.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.openecomp.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.openecomp.appc.provider.retry.delay / org.openecomp.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.openecomp.appc.db.url.appcctl=jdbc:mysql://<HOST_IP>:3306/appcctl
153         org.openecomp.appc.db.user.appcctl=appcctl
154         org.openecomp.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/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>`_.
163
164 - **Example**:
165
166   .. code:: bash
167
168         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
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
173 dblib.properties
174 ================
175 **Database Connection**
176
177 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.
178
179 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>`_.
180
181 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.
182
183 .. code:: bash
184
185         org.onap.ccsdk.sli.jdbc.hosts=<HOST>
186         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME>
187         org.onap.ccsdk.sli.jdbc.database=<DB_NAME>
188         org.onap.ccsdk.sli.jdbc.user=<DB_USER>
189         org.onap.ccsdk.sli.jdbc.password=<DB_PASSWORD>
190         org.onap.ccsdk.sli.jdbc.connection.name=<DB_CONNECTION_NAME>
191         org.onap.ccsdk.sli.jdbc.limit.init=<CONNECTION_POOL_INIT_SIZE> # default is 10
192         org.onap.ccsdk.sli.jdbc.limit.min=<CONNECTION_POOL_MAX_SIZE> # default is 10
193         org.onap.ccsdk.sli.jdbc.limit.max=<CONNECTION_POOL_MAX_SIZE> # default is 20
194
195
196 svclogic.properties
197 ===================
198 **Service Logic Interpreter (SLI) - SVCLOGIC**
199
200 APPC uses the SDNC SLI service (*sdnc-sli-<VERSION_NUMBER>.zip*) to execute the DG.
201
202 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>`_.
203
204 .. code:: bash
205         
206         org.onap.ccsdk.sli.dbtype = jdbc
207
208         # Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
209         org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME> # jdbc:mysql://localhost:3306/sdnctl
210         org.onap.ccsdk.sli.jdbc.database=<DB_NAME> # e.g. sdnctl
211         org.onap.ccsdk.sli.jdbc.user=<USER> # e.g. sdnctl
212         org.onap.ccsdk.sli.jdbc.password=<PASSWORD>