Add sdc startup in IT
[sdc.git] / integration-tests / pom.xml
1 <!--
2 ============LICENSE_START=======================================================
3 SDC
4 ================================================================================
5 Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
6 ================================================================================
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10         *
11      http://www.apache.org/licenses/LICENSE-2.0
12         *
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 ============LICENSE_END=========================================================
19 ================================================================================
20 -->
21 <project xmlns="http://maven.apache.org/POM/4.0.0"
22          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25
26     <groupId>org.openecomp.sdc</groupId>
27     <artifactId>sdc-integration-tests</artifactId>
28     <packaging>pom</packaging>
29     <name>sdc-integration-tests</name>
30
31     <parent>
32         <groupId>org.openecomp.sdc</groupId>
33         <artifactId>sdc-main</artifactId>
34         <version>1.7.0-SNAPSHOT</version>
35     </parent>
36
37     <properties>
38         <!-- Integration tests parameters -->
39         <it.env.name>integration-test</it.env.name>
40         <it.cassandra.port>9042</it.cassandra.port>
41         <it.cassandra.password>onap123#@!</it.cassandra.password>
42         <it.cassandra.ssl.enabled>false</it.cassandra.ssl.enabled>
43         <it.sdc.cluster.name>SDC-CS-${it.env.name}</it.sdc.cluster.name>
44         <it.sdc.user>asdc_user</it.sdc.user>
45         <it.sdc.password>Aa1234%^!</it.sdc.password>
46         <it.chef.config>${project.build.directory}/chef-config</it.chef.config>
47         <it.shared.volume>/tmp/sdc-integration-tests</it.shared.volume>
48         <it.docker.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest
49         </it.docker.version>
50     </properties>
51
52     <dependencies>
53     </dependencies>
54
55     <build>
56         <plugins>
57             <!-- Section for Integration tests -->
58             <plugin>
59                 <artifactId>maven-resources-plugin</artifactId>
60                 <executions>
61                     <execution>
62                         <id>copy-resources</id>
63                         <phase>pre-integration-test</phase>
64                         <goals>
65                             <goal>copy-resources</goal>
66                         </goals>
67                         <configuration>
68                             <outputDirectory>${it.chef.config}</outputDirectory>
69                             <resources>
70                                 <resource>
71                                     <directory>src/test/resources</directory>
72                                     <filtering>true</filtering>
73                                     <includes>
74                                         <include>integration-test.json</include>
75                                     </includes>
76                                 </resource>
77                             </resources>
78                         </configuration>
79                     </execution>
80                 </executions>
81             </plugin>
82             <plugin>
83                 <artifactId>maven-antrun-plugin</artifactId>
84                 <version>1.8</version>
85                 <inherited>false</inherited>
86                 <executions>
87                     <execution>
88                         <phase>pre-integration-test</phase>
89                         <configuration>
90                             <target>
91                                 <mkdir dir="${it.shared.volume}"/>
92                                 <chmod dir="${it.shared.volume}" type="dir" perm="ugo+rwx"/>
93                             </target>
94                         </configuration>
95                         <goals>
96                             <goal>run</goal>
97                         </goals>
98                     </execution>
99                 </executions>
100             </plugin>
101             <plugin>
102                 <groupId>org.codehaus.mojo</groupId>
103                 <artifactId>build-helper-maven-plugin</artifactId>
104                 <inherited>false</inherited>
105                 <executions>
106                     <execution>
107                         <id>reserve-port-for-tests</id>
108                         <phase>validate</phase>
109                         <goals>
110                             <goal>reserve-network-port</goal>
111                         </goals>
112                         <configuration>
113                             <portNames>
114                                 <portName>sdc.it.docker.cassandra.port</portName>
115                             </portNames>
116                         </configuration>
117                     </execution>
118                 </executions>
119             </plugin>
120             <plugin>
121                 <groupId>io.fabric8</groupId>
122                 <artifactId>docker-maven-plugin</artifactId>
123                 <inherited>false</inherited>
124                 <dependencies>
125                     <dependency>
126                         <groupId>org.apache.httpcomponents</groupId>
127                         <artifactId>httpclient</artifactId>
128                         <version>4.5.5</version>
129                     </dependency>
130                 </dependencies>
131                 <configuration>
132                     <verbose>true</verbose>
133                     <apiVersion>1.35</apiVersion>
134                     <autoCreateCustomNetworks>true</autoCreateCustomNetworks>
135                     <images>
136                         <image>
137                             <name>onap/sdc-cassandra:${it.docker.version}</name>
138                             <alias>sdc-cassandra</alias>
139                             <run>
140                                 <env>
141                                     <RELEASE>${project.version}</RELEASE>
142                                     <CS_PASSWORD>${it.cassandra.password}</CS_PASSWORD>
143                                     <ENVNAME>${it.env.name}</ENVNAME>
144                                     <MAX_HEAP_SIZE>1536M</MAX_HEAP_SIZE>
145                                     <HEAP_NEWSIZE>512M</HEAP_NEWSIZE>
146                                 </env>
147                                 <hostname>sdc-cs</hostname>
148                                 <volumes>
149                                     <bind>
150                                         <volume>${it.chef.config}:/root/chef-solo/environments</volume>
151                                     </bind>
152                                 </volumes>
153                                 <ulimits>
154                                     <ulimit>
155                                         <name>memlock</name>
156                                         <hard>-1</hard>
157                                         <soft>-1</soft>
158                                     </ulimit>
159                                     <ulimit>
160                                         <name>nofile</name>
161                                         <hard>100000</hard>
162                                         <soft>100000</soft>
163                                     </ulimit>
164                                 </ulimits>
165                                 <wait>
166                                     <time>120000</time>
167                                     <tcp>
168                                         <host>sdc-cs</host>
169                                         <mode>direct</mode>
170                                         <ports>
171                                             <port>9042</port>
172                                         </ports>
173                                     </tcp>
174                                 </wait>
175                                 <ports>
176                                     <port>9042:9042</port>
177                                 </ports>
178                                 <network>
179                                     <mode>custom</mode>
180                                     <name>sdc-network</name>
181                                     <alias>sdc-cs</alias>
182                                 </network>
183                             </run>
184                         </image>
185                         <image>
186                             <name>onap/sdc-cassandra-init:${it.docker.version}</name>
187                             <alias>sdc-cassandra-init</alias>
188                             <run>
189                                 <dependsOn>
190                                     <container>sdc-cassandra</container>
191                                 </dependsOn>
192                                 <env>
193                                     <RELEASE>${project.version}</RELEASE>
194                                     <SDC_USER>${it.sdc.user}</SDC_USER>
195                                     <SDC_PASSWORD>${it.sdc.password}</SDC_PASSWORD>
196                                     <CS_PASSWORD>${it.cassandra.password}</CS_PASSWORD>
197                                     <ENVNAME>${it.env.name}</ENVNAME>
198                                 </env>
199                                 <hostname>sdc-cs-init</hostname>
200                                 <volumes>
201                                     <bind>
202                                         <volume>${it.chef.config}:/home/sdc/chef-solo/environments</volume>
203                                     </bind>
204                                 </volumes>
205                                 <wait>
206                                     <time>300000</time>
207                                     <log>SdcSchemaFileImport successfully completed</log>
208                                 </wait>
209                                 <network>
210                                     <mode>custom</mode>
211                                     <name>sdc-network</name>
212                                     <alias>sdc-cs-init</alias>
213                                 </network>
214                             </run>
215                         </image>
216                         <image>
217                             <name>onap/sdc-onboard-cassandra-init:${it.docker.version}</name>
218                             <alias>sdc-cassandra-onboard-init</alias>
219                             <run>
220                                 <dependsOn>
221                                     <container>sdc-cassandra-init</container>
222                                 </dependsOn>
223                                 <env>
224                                     <RELEASE>${project.version}</RELEASE>
225                                     <SDC_USER>${it.sdc.user}</SDC_USER>
226                                     <SDC_PASSWORD>${it.sdc.password}</SDC_PASSWORD>
227                                     <CS_PASSWORD>${it.cassandra.password}</CS_PASSWORD>
228                                     <CS_HOST_PORT>${it.cassandra.port}</CS_HOST_PORT>
229                                     <ENVNAME>${it.env.name}</ENVNAME>
230                                     <CS_HOST_IP>sdc-cs</CS_HOST_IP>
231                                 </env>
232                                 <hostname>sdc-cs-onboard-init</hostname>
233                                 <volumes>
234                                     <bind>
235                                         <volume>${it.chef.config}:/home/sdc/chef-solo/environments</volume>
236                                     </bind>
237                                 </volumes>
238                                 <wait>
239                                     <time>30000</time>
240                                     <log>Initializing onboard schemas</log>
241                                 </wait>
242                                 <network>
243                                     <mode>custom</mode>
244                                     <name>sdc-network</name>
245                                     <alias>sdc-cs-onboard-init</alias>
246                                 </network>
247                             </run>
248                         </image>
249                         <image>
250                             <name>onap/sdc-onboard-backend:${it.docker.version}</name>
251                             <alias>sdc-onboard-backend</alias>
252                             <run>
253                                 <dependsOn>
254                                     <container>sdc-cassandra-onboard-init</container>
255                                 </dependsOn>
256                                 <env>
257                                     <cassandra_ssl_enabled>${it.cassandra.ssl.enabled}</cassandra_ssl_enabled>
258                                     <SDC_CLUSTER_NAME>${it.sdc.cluster.name}</SDC_CLUSTER_NAME>
259                                     <SDC_USER>${it.sdc.user}</SDC_USER>
260                                     <SDC_PASSWORD>${it.sdc.password}</SDC_PASSWORD>
261                                     <ENVNAME>${it.env.name}</ENVNAME>
262                                     <SDC_CERT_DIR>onap/cert</SDC_CERT_DIR>
263                                     <JAVA_OPTIONS>-Xmx1536m -Xms1536m</JAVA_OPTIONS>
264                                 </env>
265                                 <hostname>sdc-onboard-BE</hostname>
266                                 <volumes>
267                                     <bind>
268                                         <volume>${it.chef.config}:/var/lib/jetty/chef-solo/environments</volume>
269                                     </bind>
270                                 </volumes>
271                                 <wait>
272                                     <time>30000</time>
273                                     <tcp>
274                                         <host>sdc-onboard-BE</host>
275                                         <mode>direct</mode>
276                                         <ports>
277                                             <port>8445</port>
278                                             <port>8081</port>
279                                         </ports>
280                                     </tcp>
281                                 </wait>
282                                 <ports>
283                                     <port>8445:8445</port>
284                                     <port>8081:8081</port>
285                                 </ports>
286                                 <network>
287                                     <mode>custom</mode>
288                                     <name>sdc-network</name>
289                                     <alias>sdc-onboard-BE</alias>
290                                 </network>
291                             </run>
292                         </image>
293                         <image>
294                             <name>onap/sdc-backend:${it.docker.version}</name>
295                             <alias>sdc-backend</alias>
296                             <run>
297                                 <dependsOn>
298                                     <container>sdc-onboard-backend</container>
299                                 </dependsOn>
300                                 <env>
301                                     <cassandra_ssl_enabled>${it.cassandra.ssl.enabled}</cassandra_ssl_enabled>
302                                     <ENVNAME>${it.env.name}</ENVNAME>
303                                     <JAVA_OPTIONS>-Xmx1536m -Xms1536m</JAVA_OPTIONS>
304                                 </env>
305                                 <hostname>sdc-BE</hostname>
306                                 <volumes>
307                                     <bind>
308                                         <volume>${it.chef.config}:/var/lib/jetty/chef-solo/environments</volume>
309                                         <volume>${it.shared.volume}:/var/lib/jetty/logs</volume>
310                                     </bind>
311                                 </volumes>
312                                 <wait>
313                                     <time>60000</time>
314                                     <tcp>
315                                         <host>sdc-BE</host>
316                                         <mode>direct</mode>
317                                         <ports>
318                                             <port>8443</port>
319                                             <port>8080</port>
320                                         </ports>
321                                     </tcp>
322                                 </wait>
323                                 <ports>
324                                     <port>8443:8443</port>
325                                     <port>8080:8080</port>
326                                 </ports>
327                                 <network>
328                                     <mode>custom</mode>
329                                     <name>sdc-network</name>
330                                     <alias>sdc-BE</alias>
331                                 </network>
332                             </run>
333                         </image>
334                         <image>
335                             <name>onap/sdc-backend-init:${it.docker.version}</name>
336                             <alias>sdc-backend-init</alias>
337                             <run>
338                                 <dependsOn>
339                                     <container>sdc-backend</container>
340                                 </dependsOn>
341                                 <env>
342                                     <ENVNAME>${it.env.name}</ENVNAME>
343                                 </env>
344                                 <hostname>sdc-BE-init</hostname>
345                                 <volumes>
346                                     <bind>
347                                         <volume>${it.chef.config}:/home/onap/chef-solo/environments</volume>
348                                         <volume>${it.shared.volume}:/var/lib/jetty/logs</volume>
349                                     </bind>
350                                 </volumes>
351                                 <wait>
352                                     <time>600000</time>
353                                     <log>Chef Client finished</log>
354                                 </wait>
355                                 <network>
356                                     <mode>custom</mode>
357                                     <name>sdc-network</name>
358                                     <alias>sdc-BE-init</alias>
359                                 </network>
360                             </run>
361                         </image>
362                         <image>
363                             <name>onap/sdc-frontend:${it.docker.version}</name>
364                             <alias>sdc-frontend</alias>
365                             <run>
366                                 <dependsOn>
367                                     <container>sdc-backend-init</container>
368                                 </dependsOn>
369                                 <env>
370                                     <ENVNAME>${it.env.name}</ENVNAME>
371                                     <JAVA_OPTIONS>-Xmx256m -Xms256m</JAVA_OPTIONS>
372                                 </env>
373                                 <hostname>sdc-FE</hostname>
374                                 <volumes>
375                                     <bind>
376                                         <volume>${it.chef.config}:/var/lib/jetty/chef-solo/environments</volume>
377                                         <volume>${it.shared.volume}:/var/lib/jetty/logs</volume>
378                                         <volume>
379                                             sdc-os-chef/environments/plugins-configuration.yaml:/var/lib/jetty/config/catalog-fe/plugins-configuration.yaml
380                                         </volume>
381                                     </bind>
382                                 </volumes>
383                                 <wait>
384                                     <time>60000</time>
385                                     <tcp>
386                                         <host>sdc-FE</host>
387                                         <mode>direct</mode>
388                                         <ports>
389                                             <port>9443</port>
390                                             <port>8181</port>
391                                         </ports>
392                                     </tcp>
393                                 </wait>
394                                 <ports>
395                                     <port>9443:9443</port>
396                                     <port>8181:8181</port>
397                                 </ports>
398                                 <network>
399                                     <mode>custom</mode>
400                                     <name>sdc-network</name>
401                                     <alias>sdc-FE</alias>
402                                 </network>
403                             </run>
404                         </image>
405                     </images>
406                 </configuration>
407
408                 <executions>
409                     <execution>
410                         <id>docker-start-for-it</id>
411                         <phase>pre-integration-test</phase>
412                         <goals>
413                             <goal>start</goal>
414                         </goals>
415                     </execution>
416                     <execution>
417                         <id>docker-stop-for-it</id>
418                         <phase>post-integration-test</phase>
419                         <goals>
420                             <goal>stop</goal>
421                         </goals>
422                     </execution>
423                 </executions>
424             </plugin>
425         </plugins>
426     </build>
427 </project>
428