c112cb5a6c5e9bf03b8664023ec341a0551a495f
[ccsdk/distribution.git] / odlsli / odlsli-alpine / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3     <modelVersion>4.0.0</modelVersion>
4
5     <parent>
6         <groupId>org.onap.ccsdk.distribution</groupId>
7         <artifactId>distribution-odlsli</artifactId>
8         <version>1.1.7-SNAPSHOT</version>
9     </parent>
10
11     <artifactId>distribution-odlsli-alpine</artifactId>
12     <packaging>pom</packaging>
13
14     <name>ccsdk-distribution :: odlsli-alpine</name>
15     <description>Creates Alpine-based ODLSLI Docker container</description>
16     <organization>
17         <name>openECOMP</name>
18     </organization>
19
20     <properties>
21         <base.image.name>onap/ccsdk-odl-aluminum-alpine-image</base.image.name>
22         <image.name>onap/ccsdk-odlsli-alpine-image</image.name>
23
24         <ccsdk.project.version>${project.version}</ccsdk.project.version>
25         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
26         <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
27
28         <docker.verbose>true</docker.verbose>
29
30         <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
31         <opendaylight.root>opt/opendaylight</opendaylight.root>
32
33         <ansible.gpg.key>93C4A3FD7BB9C367</ansible.gpg.key>
34         <extra.odl.features>
35             odl-restconf-all,odl-mdsal-all,odl-mdsal-apidocs,odl-daexim-all,odl-restconf-nb-rfc8040
36         </extra.odl.features>
37         <ccsdk.sli.features>
38             ccsdk-sli-core-all,ccsdk-sli-adaptors-all,ccsdk-sli-northbound-all,ccsdk-sli-plugins-all
39         </ccsdk.sli.features>
40         <docker.autoCreateCustomNetworks>true</docker.autoCreateCustomNetworks>
41     </properties>
42
43     <dependencies>
44         <dependency>
45             <groupId>${project.groupId}</groupId>
46             <artifactId>dependencies</artifactId>
47             <version>${project.version}</version>
48             <type>zip</type>
49             <classifier>repo</classifier>
50         </dependency>
51
52         <dependency>
53             <groupId>org.onap.ccsdk.sli.core</groupId>
54             <artifactId>dblib-installer</artifactId>
55             <version>${ccsdk.sli.version}</version>
56             <type>zip</type>
57             <classifier>repo</classifier>
58         </dependency>
59         <dependency>
60             <groupId>org.onap.ccsdk.sli.core</groupId>
61             <artifactId>filters-installer</artifactId>
62             <version>${ccsdk.sli.version}</version>
63             <type>zip</type>
64             <classifier>repo</classifier>
65         </dependency>
66         <dependency>
67             <groupId>org.onap.ccsdk.sli.core</groupId>
68             <artifactId>sli-installer</artifactId>
69             <version>${ccsdk.sli.version}</version>
70             <type>zip</type>
71             <classifier>repo</classifier>
72         </dependency>
73         <dependency>
74             <groupId>org.onap.ccsdk.sli.core</groupId>
75             <artifactId>sliapi-installer</artifactId>
76             <version>${ccsdk.sli.version}</version>
77             <type>zip</type>
78             <classifier>repo</classifier>
79         </dependency>
80         <dependency>
81             <groupId>org.onap.ccsdk.sli.core</groupId>
82             <artifactId>sliPluginUtils-installer</artifactId>
83             <version>${ccsdk.sli.version}</version>
84             <type>zip</type>
85             <classifier>repo</classifier>
86         </dependency>
87         <dependency>
88             <groupId>org.onap.ccsdk.sli.core</groupId>
89             <artifactId>utils-installer</artifactId>
90             <version>${ccsdk.sli.version}</version>
91             <type>zip</type>
92             <classifier>repo</classifier>
93         </dependency>
94         <dependency>
95             <groupId>org.onap.ccsdk.sli.core</groupId>
96             <artifactId>slicore-features-installer</artifactId>
97             <version>${ccsdk.sli.version}</version>
98             <type>zip</type>
99             <classifier>repo</classifier>
100         </dependency>
101         <dependency>
102             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
103             <artifactId>aai-service-installer</artifactId>
104             <version>${ccsdk.sli.version}</version>
105             <type>zip</type>
106             <classifier>repo</classifier>
107         </dependency>
108         <dependency>
109             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
110             <artifactId>ansible-adapter-installer</artifactId>
111             <version>${ccsdk.sli.version}</version>
112             <type>zip</type>
113             <classifier>repo</classifier>
114         </dependency>
115         <dependency>
116             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
117             <artifactId>base-http-installer</artifactId>
118             <version>${ccsdk.sli.version}</version>
119             <type>zip</type>
120             <classifier>repo</classifier>
121         </dependency>
122         <dependency>
123             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
124             <artifactId>mdsal-resource-installer</artifactId>
125             <version>${ccsdk.sli.version}</version>
126             <type>zip</type>
127             <classifier>repo</classifier>
128         </dependency>
129         <dependency>
130             <groupId>org.onap.ccsdk.sli.adaptors.messagerouter</groupId>
131             <artifactId>publisher.installer</artifactId>
132             <version>${ccsdk.sli.version}</version>
133             <type>zip</type>
134             <classifier>repo</classifier>
135         </dependency>
136         <dependency>
137             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
138             <artifactId>netbox-client-installer</artifactId>
139             <version>${ccsdk.sli.version}</version>
140             <type>zip</type>
141             <classifier>repo</classifier>
142         </dependency>
143         <dependency>
144             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
145             <artifactId>resource-assignment-installer</artifactId>
146             <version>${ccsdk.sli.version}</version>
147             <type>zip</type>
148             <classifier>repo</classifier>
149         </dependency>
150         <dependency>
151             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
152             <artifactId>saltstack-adapter-installer</artifactId>
153             <version>${ccsdk.sli.version}</version>
154             <type>zip</type>
155             <classifier>repo</classifier>
156         </dependency>
157         <dependency>
158             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
159             <artifactId>sql-resource-installer</artifactId>
160             <version>${ccsdk.sli.version}</version>
161             <type>zip</type>
162             <classifier>repo</classifier>
163         </dependency>
164         <dependency>
165             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
166             <artifactId>sliadaptors-features-installer</artifactId>
167             <version>${ccsdk.sli.version}</version>
168             <type>zip</type>
169             <classifier>repo</classifier>
170         </dependency>
171         <dependency>
172             <groupId>org.onap.ccsdk.sli.northbound</groupId>
173             <artifactId>asdcApi-installer</artifactId>
174             <version>${ccsdk.sli.version}</version>
175             <type>zip</type>
176             <classifier>repo</classifier>
177         </dependency>
178         <dependency>
179             <groupId>org.onap.ccsdk.sli.northbound</groupId>
180             <artifactId>dataChange-installer</artifactId>
181             <version>${ccsdk.sli.version}</version>
182             <type>zip</type>
183             <classifier>repo</classifier>
184         </dependency>
185         <dependency>
186             <groupId>org.onap.ccsdk.sli.northbound</groupId>
187             <artifactId>lcm-installer</artifactId>
188             <version>${ccsdk.sli.version}</version>
189             <type>zip</type>
190             <classifier>repo</classifier>
191         </dependency>
192         <dependency>
193             <groupId>org.onap.ccsdk.sli.northbound</groupId>
194             <artifactId>slinorthbound-features-installer</artifactId>
195             <version>${ccsdk.sli.version}</version>
196             <type>zip</type>
197             <classifier>repo</classifier>
198         </dependency>
199         <dependency>
200             <groupId>org.onap.ccsdk.sli.plugins</groupId>
201             <artifactId>properties-node-installer</artifactId>
202             <version>${ccsdk.sli.version}</version>
203             <type>zip</type>
204             <classifier>repo</classifier>
205         </dependency>
206         <dependency>
207             <groupId>org.onap.ccsdk.sli.plugins</groupId>
208             <artifactId>restapi-call-node-installer</artifactId>
209             <version>${ccsdk.sli.version}</version>
210             <type>zip</type>
211             <classifier>repo</classifier>
212         </dependency>
213         <dependency>
214             <groupId>org.onap.ccsdk.sli.plugins</groupId>
215             <artifactId>template-node-installer</artifactId>
216             <version>${ccsdk.sli.version}</version>
217             <type>zip</type>
218             <classifier>repo</classifier>
219         </dependency>
220         <dependency>
221             <groupId>org.onap.ccsdk.sli.plugins</groupId>
222             <artifactId>restconf-client-installer</artifactId>
223             <version>${ccsdk.sli.version}</version>
224             <type>zip</type>
225             <classifier>repo</classifier>
226         </dependency>
227         <dependency>
228             <groupId>org.onap.ccsdk.sli.plugins</groupId>
229             <artifactId>sshapi-call-node-installer</artifactId>
230             <version>${ccsdk.sli.version}</version>
231             <type>zip</type>
232             <classifier>repo</classifier>
233         </dependency>
234         <dependency>
235             <groupId>org.onap.ccsdk.sli.plugins</groupId>
236             <artifactId>sliplugins-features-installer</artifactId>
237             <version>${ccsdk.sli.version}</version>
238             <type>zip</type>
239             <classifier>repo</classifier>
240         </dependency>
241     </dependencies>
242
243     <build>
244         <plugins>
245             <plugin>
246                 <groupId>org.codehaus.groovy.maven</groupId>
247                 <artifactId>gmaven-plugin</artifactId>
248                 <version>1.0</version>
249                 <executions>
250                     <execution>
251                         <phase>validate</phase>
252                         <goals>
253                             <goal>execute</goal>
254                         </goals>
255                         <configuration>
256                             <source>${basedir}/../../src/main/scripts/TagSnapshotVersion.groovy</source>
257                         </configuration>
258                     </execution>
259                 </executions>
260             </plugin>
261             <plugin>
262                 <artifactId>maven-resources-plugin</artifactId>
263                 <version>2.6</version>
264                 <executions>
265                     <execution>
266                         <id>copy-dockerfile</id>
267                         <goals>
268                             <goal>copy-resources</goal>
269                         </goals><!-- here the phase you need -->
270                         <phase>validate</phase>
271                         <configuration>
272                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
273                             <resources>
274                                 <resource>
275                                     <directory>src/main/docker</directory>
276                                     <includes>
277                                         <include>Dockerfile</include>
278                                     </includes>
279                                     <filtering>true</filtering>
280                                 </resource>
281                             </resources>
282                         </configuration>
283                     </execution>
284                     <execution>
285                         <id>copy-scripts</id>
286                         <goals>
287                             <goal>copy-resources</goal>
288                         </goals><!-- here the phase you need -->
289                         <phase>validate</phase>
290                         <configuration>
291                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
292                             <resources>
293                                 <resource>
294                                     <directory>../src/main/scripts</directory>
295                                     <includes>
296                                         <include>*.sh</include>
297                                     </includes>
298                                     <filtering>false</filtering>
299                                 </resource>
300                             </resources>
301                         </configuration>
302                     </execution>
303                     <execution>
304                         <id>copy-odl-resources</id>
305                         <goals>
306                             <goal>copy-resources</goal>
307                         </goals><!-- here the phase you need -->
308                         <phase>validate</phase>
309                         <configuration>
310                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
311                             <resources>
312                                 <resource>
313                                     <directory>../src/main/resources</directory>
314                                     <includes>
315                                         <include>idmlight.db.mv.db</include>
316                                         <include>org.ops4j.pax.logging.cfg</include>
317                                         <include>install_ccsdk.yml</include>
318                                         <include>ansible-sources.list</include>
319                                     </includes>
320                                     <filtering>false</filtering>
321                                 </resource>
322                             </resources>
323                         </configuration>
324                     </execution>
325                     <execution>
326                         <id>copy-config</id>
327                         <goals>
328                             <goal>copy-resources</goal>
329                         </goals><!-- here the phase you need -->
330                         <phase>validate</phase>
331                         <configuration>
332                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
333                             <resources>
334                                 <resource>
335                                     <directory>../src/main/resources</directory>
336                                     <includes>
337                                         <include>org.ops4j.pax.logging.cfg</include>
338                                     </includes>
339                                     <filtering>false</filtering>
340                                 </resource>
341                             </resources>
342                         </configuration>
343                     </execution>
344                     <execution>
345                         <id>copy-data</id>
346                         <goals>
347                             <goal>copy-resources</goal>
348                         </goals><!-- here the phase you need -->
349                         <phase>validate</phase>
350                         <configuration>
351                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data</outputDirectory>
352                             <resources>
353                                 <resource>
354                                     <directory>../src/main/resources</directory>
355                                     <includes>
356                                         <include>*.dump</include>
357                                     </includes>
358                                     <filtering>false</filtering>
359                                 </resource>
360                             </resources>
361                         </configuration>
362                     </execution>
363                     <execution>
364                         <id>copy-properties</id>
365                         <goals>
366                             <goal>copy-resources</goal>
367                         </goals><!-- here the phase you need -->
368                         <phase>validate</phase>
369                         <configuration>
370                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties
371                             </outputDirectory>
372                             <resources>
373                                 <resource>
374                                     <directory>../src/main/properties</directory>
375                                     <includes>
376                                         <include>*.properties</include>
377                                         <include>*.vt</include>
378                                     </includes>
379                                     <filtering>false</filtering>
380                                 </resource>
381                             </resources>
382                         </configuration>
383                     </execution>
384                     <execution>
385                         <id>copy-keystores</id>
386                         <goals>
387                             <goal>copy-resources</goal>
388                         </goals><!-- here the phase you need -->
389                         <phase>validate</phase>
390                         <configuration>
391                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores</outputDirectory>
392                             <resources>
393                                 <resource>
394                                     <directory>../src/main/stores</directory>
395                                     <includes>
396                                         <include>*.jks</include>
397                                     </includes>
398                                     <filtering>false</filtering>
399                                 </resource>
400                             </resources>
401                         </configuration>
402                     </execution>
403                 </executions>
404             </plugin>
405             <plugin>
406                 <groupId>org.apache.maven.plugins</groupId>
407                 <artifactId>maven-dependency-plugin</artifactId>
408                 <version>3.0.2</version>
409                 <executions>
410                     <execution>
411                         <id>unpack features</id>
412                         <phase>generate-sources</phase>
413                         <goals>
414                             <goal>unpack-dependencies</goal>
415                         </goals>
416                         <configuration>
417                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
418                             <excludeTransitive>true</excludeTransitive>
419                         </configuration>
420                     </execution>
421                     <execution>
422                         <id>unpack dgs</id>
423                         <phase>generate-sources</phase>
424                         <goals>
425                             <goal>unpack</goal>
426                         </goals>
427                         <configuration>
428                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
429                             <artifactItems>
430                                 <artifactItem>
431                                     <groupId>${project.groupId}</groupId>
432                                     <artifactId>platform-logic-installer</artifactId>
433                                     <version>${project.version}</version>
434                                     <type>zip</type>
435                                 </artifactItem>
436                             </artifactItems>
437                         </configuration>
438                     </execution>
439                 </executions>
440             </plugin>
441             <plugin>
442                 <groupId>org.apache.maven.plugins</groupId>
443                 <artifactId>maven-antrun-plugin</artifactId>
444                 <version>1.8</version>
445                 <executions>
446                     <execution>
447                         <id>change-shell-permissions</id>
448                         <phase>process-sources</phase>
449                         <configuration>
450                             <target>
451                                 <chmod dir="${basedir}/target/docker-stage/opt/onap/ccsdk" perm="+x" includes="**/*.sh"/>
452                             </target>
453                         </configuration>
454                         <goals>
455                             <goal>run</goal>
456                         </goals>
457                     </execution>
458                 </executions>
459             </plugin>
460             <plugin>
461                 <groupId>org.apache.maven.plugins</groupId>
462                 <artifactId>maven-failsafe-plugin</artifactId>
463                 <executions>
464                     <execution>
465                         <goals>
466                             <goal>integration-test</goal>
467                             <goal>verify</goal>
468                         </goals>
469                     </execution>
470                 </executions>
471                 <configuration>
472                     <skipITs>true</skipITs>
473                 </configuration>
474             </plugin>
475         </plugins>
476         <extensions>
477             <extension><!-- this extension is required by wagon in order to pass the proxy -->
478                 <groupId>org.apache.maven.wagon</groupId>
479                 <artifactId>wagon-http-lightweight</artifactId>
480                 <version>2.2</version>
481             </extension>
482         </extensions>
483     </build>
484
485     <profiles>
486         <profile>
487             <id>docker</id>
488             <build>
489                 <plugins>
490                     <plugin>
491                         <groupId>org.apache.maven.plugins</groupId>
492                         <artifactId>maven-failsafe-plugin</artifactId>
493                         <executions>
494                             <execution>
495                                 <goals>
496                                     <goal>integration-test</goal>
497                                     <goal>verify</goal>
498                                 </goals>
499                             </execution>
500                         </executions>
501                         <configuration>
502                             <skipITs>false</skipITs>
503                             <environmentVariables>
504                                 <ODLSLI_PORT>${odlsli.port}</ODLSLI_PORT>
505                             </environmentVariables>
506                         </configuration>
507                     </plugin>
508                     <plugin>
509                         <groupId>io.fabric8</groupId>
510                         <artifactId>docker-maven-plugin</artifactId>
511                         <version>0.34.0</version>
512                         <inherited>false</inherited>
513                         <configuration>
514                             <images>
515                                 <image>
516                                     <name>${image.name}</name>
517                                     <build>
518                                         <cleanup>try</cleanup>
519                                         <contextDir>${basedir}/target/docker-stage</contextDir>
520                                         <dockerFile>Dockerfile</dockerFile>
521                                         <tags>
522                                             <tag>${project.docker.latestminortag.snapshot.version}</tag>
523                                             <tag>${project.docker.latestfulltag.snapshot.version}</tag>
524                                             <tag>${project.docker.latesttagtimestamp.snapshot.version}</tag>
525                                         </tags>
526                                     </build>
527                                 </image>
528                             </images>
529                             <verbose>${docker.verbose}</verbose>
530                             <skipRun>${docker.skip.run}</skipRun>
531                             <skipPush>${docker.skip.push}</skipPush>
532                         </configuration>
533                         <executions>
534                             <execution>
535                                 <id>build-images</id>
536                                 <phase>package</phase>
537                                 <goals>
538                                     <goal>build</goal>
539                                 </goals>
540                             </execution>
541                             <execution>
542                                 <id>start-it-instance</id>
543                                 <phase>pre-integration-test</phase>
544                                 <goals>
545                                     <goal>start</goal>
546                                 </goals>
547                                 <configuration>
548                                     <images>
549                                         <image>
550                                             <name>mariadb:10.5</name>
551                                             <alias>odlsli-db</alias>
552                                             <run>
553                                                 <env>
554                                                     <MYSQL_ROOT_PASSWORD>itsASecret</MYSQL_ROOT_PASSWORD>
555                                                     <!-- Below are not required as installSdncDb.sh handles same -->
556                                                     <!--
557                                                     <MYSQL_USER>sdnctl</MYSQL_USER>
558                                                     <MYSQL_PASSWORD>gamma</MYSQL_PASSWORD>
559                                                     <MYSQL_DATABASE>sdnctl</MYSQL_DATABASE>
560                                                     -->
561                                                 </env>
562                                                 <network>
563                                                     <mode>custom</mode>
564                                                     <name>onap</name>
565                                                     <alias>dbhost</alias>
566                                                     <alias>sdnctldb01</alias>
567                                                     <alias>sdnctldb02</alias>
568                                                 </network>
569                                                 <ports>
570                                                     <port>odlslidb.port:3306</port>
571                                                 </ports>
572                                                 <log>
573                                                     <enabled>true</enabled>
574                                                 </log>
575                                             </run>
576                                         </image>
577                                         <image>
578                                             <name>${image.name}:${project.docker.latesttagtimestamp.snapshot.version}</name>
579                                             <alias>ccsdk_odlsli_container</alias>
580                                             <run>
581                                                 <env>
582                                                     <MYSQL_ROOT_PASSWORD>itsASecret</MYSQL_ROOT_PASSWORD>
583                                                     <SDNC_DB_USER>sdnctl</SDNC_DB_USER>
584                                                     <SDNC_DB_PASSWORD>gamma</SDNC_DB_PASSWORD>
585                                                     <SDNC_DB_DATABASE>sdnctl</SDNC_DB_DATABASE>
586                                                     <SDNC_CONFIG_DIR>/opt/onap/ccsdk/data/properties</SDNC_CONFIG_DIR>
587                                                     <KARAF_CONSOLE_LOG_LEVEL>INFO</KARAF_CONSOLE_LOG_LEVEL>
588                                                 </env>
589                                                 <dependsOn>
590                                                     <container>odlsli-db</container>
591                                                 </dependsOn>
592                                                 <network>
593                                                     <mode>custom</mode>
594                                                     <name>onap</name>
595                                                     <alias>odlsli</alias>
596                                                 </network>
597                                                 <ports>
598                                                     <port>odlsli.port:8181</port>
599                                                 </ports>
600                                                 <wait>
601                                                     <log>all warp coils are now operating at peak efficiency</log>
602                                                     <time>150000</time>
603                                                 </wait>
604                                                 <log>
605                                                     <enabled>true</enabled>
606                                                 </log>
607                                             </run>
608                                         </image>
609                                     </images>
610                                 </configuration>
611                             </execution>
612                             <execution>
613                                 <id>stop-it-instance</id>
614                                 <phase>post-integration-test</phase>
615                                 <goals>
616                                     <goal>stop</goal>
617                                 </goals>
618                             </execution>
619                             <execution>
620                                 <id>push-images</id>
621                                 <goals>
622                                     <!--<goal>build</goal>-->
623                                     <goal>push</goal>
624                                 </goals>
625                             </execution>
626                         </executions>
627                     </plugin>
628                 </plugins>
629             </build>
630         </profile>
631     </profiles>
632 </project>