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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
|
DEPLOYMENT AND ON-BOARDING GUIDE
for the
DATA BUS CONTROLLER WEB APPLICATION
ECOMP Release 1610
Contact: Christopher Lott
--
1.0 Purpose and Scope
1.1 This deployment guide offers instructions to install the Data Bus
Controller webapp in ECOMP Release 1610, and to on-board the application
into the ECOMP Portal.
This application is packaged as a single WAR file with all CSS, HTML,
JavaScript, compiled Java classes and Jar files together in a single
deployable bundle. No front-end/back-end separation is implemented for
1610.
2.0 Service Impact and Time Estimates
2.1 This DG has the following estimated timings and service impacts:
Name Estimated Time Service Impact
---- ------------ -----------
Pre Maintenance N/A N/A
Window
Maintenance 60 App is down
Window
Post Maintenance N/A N/A
Window
Rollback 30 App is down
Procedure
3.0 Assumptions
3.1 The operator who is performing the change must have adequate
system administrative privileges for the affected systems, which usually
means superuser access on the Linux host, and Portal administrator
status in the ECOMP Portal.
3.2 This deployment guide assumes that ECOMP Portal 1610 is installed
and working according to that release’s Deployment Guide.
3.3 Nick Picciocca will be the DevOps escalation for this change.
3.4 For staged files, ENV will represent the overall environment and
SERVERNAME is a file specific to the server.
3.4.1 Valid environments in 1610 are as follows:
DEVN1
QA1
QA2
IST (not geo redundant)
ETE1
ETE2
PROD1
PROD2
4.0 Prerequisites
4.1 All connectivity should be in place and tested.
4.1.1 Please see ECP_CM_v2.2.xlsx (connectivity matrix).
4.1.2 WebJunction addresses have been created for the DMaaP Bus Control
application, using the usual CSP-WJ application form.
Although the application is co-hosted with the Portal application, sharing
the Portal's WJ is not sufficient - proper cookie management requires two
separate WJ addresses. Addresses are defined for the DEV_N1, QA, IST, ETE
and PROD environments.
4.2 All tooling must properly installed to support UAM / SWM based installation.
4.3 Software
4.3.1 Java
Java version 1.8 with a recent update must be installed. Java includes a
file with known root certificates, which may require changes to recognize
self-signed server certificates.
4.3.2 Apache Tomcat
Version 8 of the Apache Tomcat server must be installed. The Apache HTTPD
package may also be required, but details about front-end (HTTPD) / back-end
(Tomcat) separation are outside the scope of this document.
4.3.3 MariaDB
These instructions assume version 10.1.13-MariaDB or later.
4.4 Web Application Archive (WAR) File
The DBC web application is built by maven and packaged as a war file. This
deployment guide does not cover the build process, which is assumed to be
covered by Continuous Integration / Continuous Deployment efforts.
4.5 Property Files
The DBC web app requires appropriate configuration for each deployment environment.
Configurations are represented as key-values pairs stored in property files.
4.5.1 Portal Properties for ecompFW Library
This file within the web application contains properties used by the ecompFW library:
WEB-INF/classes/portal.properties
The application requires the location of the hosting Portal's REST endpoint in
this config key:
- ecomp_rest_url
The application requires the unique UEB key that's assigned during the on-boarding
process in the following config key:
- ueb_app_key
4.5.2 Quantum Library System Properties
This file within the web application database properties used by the ecompSDK-core library:
WEB-INF/conf/system.properties
The application requires the base URL of the WebJunction where users enter via
the Portal application, which is a proper prefix of the URL used to on-board the
application to Portal. The file in source code management has the expected values
for each environment in release 1610 for use in the following key:
- app_base_url
The application requires suitable database coordinates in the following config keys.
Note that the database password must be encrypted using the ECOMP Portal utility class
CipherUtil:
- db.connectionURL
- db.userName
- db.password
For example, the following connection URL configures the application for a local MySQL
database named "dbca":
db.connectionURL = jdbc:mysql://localhost:3306/dbca
As part of deployment, the following config key must be updated with a unique UUID.
For example, a new value can be generated at https://www.uuidgenerator.net/version1
- instance_uuid
4.5.3 Data Bus Control App Properties
This file within the web application properties used by the web application;
an example file is in source code management:
WEB-INF/dbcapp/dbcapp.properties
The application requires a comma-separated list of DCAE DMaaP Bus Controller
URLs in the following config key. The file in source code management has the
expected values for each environment in release 1610 for use in the following key:
- dmaap.rest.url.list
As part of deployment, the following key must be set to choose whether the DMaaP
access profile interface is a local database ("dao") or the micro service ("rest").
In release 1610 the expected value is "rest"; the other is only for debugging.
- profile.access.method
If the profile access method is "rest" (i.e., microservice), the following keys must be
configured with the coordinates of the micro service. The URL will always use "localhost"
as the hostname, but the port may vary:
- profile.microservice.url
- profile.microservice.user.name
- profile.microservice.user.password
Finally, the application uses a mech ID as the default credentials presented to the
DCAE REST endpoint. A mech ID and password must be configured using the following keys.
The file in source code management has the mech ID assigned to the web application, and
the password is encrypted using the ECOMP Portal utility class CipherUtil. No changes
are expected to these config keys during deployment:
- dmaap.mechid.name
- dmaap.mechid.password
PRE MAINTENANCE WINDOW PREPARATION
N/A
MAINTENANCE WINDOW WORK (60 mins)
5.0 Database
This uses MariaDB.
5.1 Database Creation
Login to the database with super user privileges and type the following commands
to create a Mysql database, create a user and grant privileges to the user to
access all tables in the new database:
% mysql -u root -p
create database dbca;
create user 'dbcuser'@'localhost' identified by 'dbpa1234';
grant all on dbca.* to dbcuser@localhost;
5.2 Database Loading
As part of deployment the database must be loaded with menu items and a super user entry.
The following files are part of the application source area. Copy these files to /var/tmp:
db-scripts/EcompSdkDDLMySql.sql
db-scripts/EcompSdkDMLMySql.sql
db-scripts/dbca-ddl-dml-mysql.sql
Create tables and populate the tables by running the scripts in the order shown below.
On one node of the MariaDB Cluster, in the Mysql command-line client, execute the following
commands:
source /var/tmp/EcompSdkDDLMySql.sql
source /var/tmp/EcompSdkDMLMySql.sql
source /var/tmp/dbca-ddl-dml-mysql.sql
6.0 Application Installation
6.1 Copy the application war file and the property files as prepared above to directory /var/tmp:
dmaap-bc-app-1.0.war
portal.properties-1610
system.properties-1610
6.2 Deploy the application war file.
Stop the server and clean the logs
service tomcat stop
rm -f /opt/app/tomcat/logs/catalina.out
If a previous version is installed, make a backup:
Copy the war file to the server's webapps area (the destination names are suggestions only):
Start the server so it unpacks the WAR archive, then immediately stop the server again.
service tomcat start; sleep 30; service tomcat stop
Copy the appropriate property files into place:
cp /var/tmp/system.properties-1610 /opt/app/tomcat/webapps/dmaap-bc-app/WEB-INF/conf/system.properties
cp /var/tmp/portal.properties-1610 /opt/app/tomcat/webapps/dmaap-bc-app/WEB-INF/classes/portal.properties
6.3 Test Tomcat and Application:
Launch the Tomcat server. It should deploy the application. After starting, verify there are no
relevant errors in file /opt/app/tomcat/logs/application.log
service tomcat start
service tomcat status
tail -f /opt/app/tomcat/logs/catalina.out
6.4 Login to Application
After the database is first created the application has exactly one user, and that user has
administrator privileges. Look in the file EcompSdkDMLMySql.sql for the sole row added to
the FN_USER table. Use the username and password from that row to login at this URL in the
running application. Use the application deployment (context) name chosen above to form the
proper url, it will be something like this:
http://servername.openecomp.org:port/dmaap-bc-app/login_external.htm
6.5 Import Users
For testing purposes ONLY, users may be imported from WEBPHONE after logging in to the
application. Find the Profile part on the left-hand menu, click on Import From WEBPHONE, and
import users. Testers can then logon via the CSP Global Log On process starting with this URL:
http://servername.openecomp.org:port/dmaap-bc-app/login.htm
For normal usage, users are configured via the ECOMP Portal after the application has been
on-boarded, as discussed in the next section.
7.O ON-BOARD TO ECOMP PORTAL
The application must be on-boarded to an appropriate instance of the ECOMP Portal.
This section summarizes the steps that must be done.
7.1 Define Users and Roles
Login directly to the application as discussed above and create roles.
7.2 Determine URLs
Determine the URLs where the application is available.
7.2.1 The first URL to enter is the main application landing page, and in general
must use HTTPS; for example:
https://www.server.openecomp.org:port/dmaap-bc-app/dbc/
7.2.2. The second URL to enter is the REST endpoint, also known as the "aux" API where
the SDK-core library listens for requests to manage roles and users. This should use
HTTPS but must NOT use a WebJunction URL; it probably points to a load balancer site.
For example:
https://server.openecomp.org:port/dmaap-bc-app/api
7.3 Configure Portal
An ECOMP Portal administrator must use the Portal on-boarding screen to create/register
this application.
7.3.1 This screen accepts the URLs from the previous step.
7.3.2 This screen accepts an application thumbnail image.
7.3.3. The onboarding process will cause new UEB key information to be generated
and emailed to the on-boarding user. This information must be entered in the
application configuration file(s).
7.4 Add Application Users from Portal
After successful on-boarding, the Portal should be able to manage users in the remote
application. Use the User Management feature to provision new users on the application.
7.5 Test Access from Portal
The Portal will display a tile on the applications home screen. Click the tile.
This should open a tab in the user's browser with the DBC web application.
8.0 POST MAINTENANCE WINDOW WORK
N/A
9.0 ROLLBACK PROCEDURE
To restore the previous Data Bus Controll App version, stop the server
and remove the new version:
service tomcat stop
rm /opt/app/tomcat/webapps/dmaap-bc-app.war
rm -rf /opt/app/tomcat/webapps/dmaap-bc-app
Then restore the old files.
Start the server to deploy the WAR file, and stop again:
service tomcat start; sleep 30; service tomcat stop
Copy in property files:
cp /opt/app/tomcat/webapps/dmaap-bc-app-DATE/WEB-INF/conf/system.properties /opt/app/tomcat/webapps/dmaap-bc-app/WEB-INF/conf/system.properties
cp /opt/app/tomcat/webapps/dmaap-bc-app-DATE/WEB-INF/classes/portal.properties /opt/app/tomcat/webapps/dmaap-bc-app/WEB-INF/classes/portal.properties
Finally restart the server
service tomcat start
|