aboutsummaryrefslogtreecommitdiffstats
path: root/docs/APPC Properties/APPC Properties.rst
blob: 58f788067beaf9aca7a98cc3dcbd1a1ef70fa879 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
.. ============LICENSE_START==========================================
.. ===================================================================
.. Copyright © 2017 AT&T Intellectual Property. All rights reserved.
.. ===================================================================
.. Licensed under the Creative Commons License, Attribution 4.0 Intl.  (the "License");
.. you may not use this documentation except in compliance with the License.
.. You may obtain a copy of the License at
.. 
..  https://creativecommons.org/licenses/by/4.0/
.. 
.. Unless required by applicable law or agreed to in writing, software
.. distributed under the License is distributed on an "AS IS" BASIS,
.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
.. See the License for the specific language governing permissions and
.. limitations under the License.
.. ============LICENSE_END============================================
.. ECOMP is a trademark and service mark of AT&T Intellectual Property.

=========================
APPC Available Properties
=========================

Overview
========

The current list of properties that can be overwritten from all
default.properties files to `appc.properties
<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
that some properties have default values since some code requires it to
be defined as part of the building/compilation process.

-  The only defined property values in appc.properties are the
   following:

   -  "appc.demo.\*" properties (needed for demo)
   -  "appc.provider.vfodl.url" property (needed for demo)
   -  "appc.service.logic.module.name" property (needed for demo)
   -  "appc.topology.dg.\*" properties (needed for demo)

Properties List
===============

The following features have properties that can be defined by the user as explained below:

**DMaaP Event Bus**

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).

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*.

-  **dmaap.poolMembers property**:

  -  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)
  -  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)

-  **appc.ClosedLoop.\* properties** & **appc.ClosedLoop1607.\* properties**:

  -  Applies to the following feature: appc-event-listener-bundle
  -  These properties define in which DMaaP will the appc-event-listener feature will listen in

-  **appc.LCM.\* properties**:

  -  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
  -  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.

-  **Other properties**:

  -  \*poolMembers, event.pool.members

    -  Applies to the following features: appc-netconf-adapter-bundle, appc-dg-common, appc-dmaap-adapter-bundle
    -  These properties can be defined to use the features defined above. They are used to point to current DMaaP listener

-  **Example**:

  .. code:: bash

	### Asynchronous responses ###
	dmaap.topic.write=<WRITE_TOPIC> // e.g. async_demo
	dmaap.poolMembers= <HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904

	### DG events (asynchronous) in case of failures ###
	DCAE.event.topic.write=<WRITE_TOPIC> // e.g. event_demo
	DCAE.event.pool.members=<HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904

	### LCM API (rpc) – synchronous ###
	# The following properties are required for sending an LCM request over DMaaP
	appc.LCM.provider.url=https://localhost:8443/restconf/operations/appc-provider-lcm
	appc.LCM.poolMembers=<HOST_IP_1>:<PORT_NUMBER>,<HOST_IP_2>:<PORT_NUMBER> # e.g. 192.168.1.10:3904
	appc.LCM.topic.read=<READ_TOPIC> # e.g. test123
	appc.LCM.topic.write=<WRITE_TOPIC> # e.g. APPC-LCM-TEST
	appc.LCM.client.name=<CLIENT_NAME> # e.g name1
	appc.LCM.client.name.id=<CLIENT_ID> # e.g 0
	appc.LCM.provider.user=<LCM PROVIDER Username> # e.g. admin
	appc.LCM.provider.pass=<LCM PROVIDER Username> # e.g. admin


**AAI Adaptor (SDNC-based)**

APPC connects with ONAP AAI using the SDNC AAI service (sdnc-aai-service-<VERSION_NUMBER>.zip).

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>`_.

- **Example**:

  .. code:: bash

	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
	org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=<SSL_Keystore_Password> # Default value for the default keystore is adminadmin
	org.onap.ccsdk.sli.adaptors.aai.uri=<AAI_INSTANCE_LOCATION> # Default value is https://aai.api.simpledemo.openecomp.org:8443


**Database Connection**

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.

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>`_.

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.

.. code:: bash

	org.onap.ccsdk.sli.jdbc.hosts=<HOST>
	org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME>
	org.onap.ccsdk.sli.jdbc.database=<DB_NAME>
	org.onap.ccsdk.sli.jdbc.user=<DB_USER>
	org.onap.ccsdk.sli.jdbc.password=<DB_PASSWORD>
	org.onap.ccsdk.sli.jdbc.connection.name=<DB_CONNECTION_NAME>
	org.onap.ccsdk.sli.jdbc.limit.init=<CONNECTION_POOL_INIT_SIZE> # default is 10
	org.onap.ccsdk.sli.jdbc.limit.min=<CONNECTION_POOL_MAX_SIZE> # default is 10
	org.onap.ccsdk.sli.jdbc.limit.max=<CONNECTION_POOL_MAX_SIZE> # default is 20


**APPC Transactions Database Connection**

Applies to the following features: appc-dg-common, appc-command-executor-core, appc-request-handler-core, appc-workflow-management-core.

.. code:: bash
	
	# appcctl is the default name of the APPC Database Table, equivalent to sdnctl
	org.openecomp.appc.db.url.appcctl=jdbc:mysql://<HOST_IP>:3306/appcctl
	org.openecomp.appc.db.user.appcctl=appcctl
	org.openecomp.appc.db.pass.appcctl=appcctl


**Service Logic Interpreter (SLI) - SVCLOGIC**

APPC uses the SDNC SLI service (*sdnc-sli-<VERSION_NUMBER>.zip*) to execute the DG.

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>`_.

.. code:: bash
	
	org.onap.ccsdk.sli.dbtype = jdbc

	# Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
	org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://<HOST_IP>:3306/<DB_NAME> # jdbc:mysql://localhost:3306/sdnctl
	org.onap.ccsdk.sli.jdbc.database=<DB_NAME> # e.g. sdnctl
	org.onap.ccsdk.sli.jdbc.user=<USER> # e.g. sdnctl
	org.onap.ccsdk.sli.jdbc.password=<PASSWORD>


**IaaS (Infracstructure as a Service) Adapter**

The APPC IaaS Adapter is the southbound adapter of APPC which is responsible of executing VIM-based actions (i.e. OpenStack actions).

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>`_.

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.

-  **provider1.\* properties**:

  -  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
  -  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.

-  **test.\* properties**:

  -  Applies to the following features: appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle
  -  These are properties that test OpenStack-based APPC API requests

-  **Example**:

  .. code:: bash

	# Provider (VIM) configuration
	provider1.type=<VIM_TYPE> # default value is OpenStackProvider for OpenStack conn.
	provider1.name=<VIM_PROVIDER_NAME> # default value is OpenStack for OpenStack conn.
	provider1.identity=<VIM_IDENTITY_URL> # The VIM authentication URL
	provider1.tenant1.name=<TENANT_NAME> # The Tenant Name of the VIM
	provider1.tenant1.userid=<USER_NAME> # The VIM username
	provider1.tenant1.password=<PASSWORD> # The VIM password


**Other Properties**

-  **appc.sdc.\* properties**:

  -  Used to connect to a SDC instance. Applies to the following feature: appc-sdc-listener-bundle
  -  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.

-  **restconf.user, restconf.pass properties**:

  -  Applies to the following features: appc-netconf-adapter-bundle, appc-dg-common
  -  These properties can be defined to define the RESTCONF credentials needed to execute APPC API requests from the features impacted above.


**Notes**

-  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>".

-  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).