Effort to reduce image layer and size
[sdnc/oam.git] / installation / sdnc / pom.xml
index 7423106..43d6001 100644 (file)
@@ -8,9 +8,7 @@
         <version>2.2.0-SNAPSHOT</version>
     </parent>
 
-    <groupId>org.onap.sdnc.oam</groupId>
     <artifactId>installation-sdnc</artifactId>
-    <version>2.2.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>sdnc-oam :: installation :: ${project.artifactId}</name>
     <properties>
         <image.name>onap/sdnc-aaf-image</image.name>
         <standalone.image.name>onap/sdnc-image</standalone.image.name>
-        <sdnc.project.version>${project.version}</sdnc.project.version>
-        <sdnc.build.timestamp>${maven.build.timestamp}</sdnc.build.timestamp>
         <ccsdk.docker.version>${ccsdk.docker.odlsli.alpine.version}</ccsdk.docker.version>
         <sdnc.keystore>org.onap.sdnc.p12</sdnc.keystore>
         <sdnc.keypass><![CDATA[;:G58,7ZhqOSI:7^oZCY[9Dv]]></sdnc.keypass>
         <sdnc.secureport>8443</sdnc.secureport>
+
+        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
+        <sdnc.build.timestamp>${maven.build.timestamp}</sdnc.build.timestamp>
+
         <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
-        <docker.push.phase>deploy</docker.push.phase>
-        <docker.verbose>true</docker.verbose> 
         <docker.autoCreateCustomNetworks>true</docker.autoCreateCustomNetworks>
-        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
     </properties>
 
     <dependencies>
@@ -43,7 +40,7 @@
             <type>zip</type>
             <classifier>repo</classifier>
         </dependency>
-       <dependency>
+        <dependency>
             <groupId>org.onap.sdnc.northbound</groupId>
             <artifactId>optical-service-installer</artifactId>
             <version>${sdnc.northbound.version}</version>
 
     <build>
         <plugins>
-
-
             <plugin>
                 <groupId>org.codehaus.groovy.maven</groupId>
                 <artifactId>gmaven-plugin</artifactId>
+                <version>1.0</version>
                 <executions>
                     <execution>
                         <phase>validate</phase>
             <plugin>
                 <groupId>io.fabric8</groupId>
                 <artifactId>docker-maven-plugin</artifactId>
-                <version>0.28.0</version>
+                <version>0.34.0</version>
                 <inherited>false</inherited>
+                <configuration>
+                    <images>
+                        <image>
+                            <name>${image.name}</name>
+                            <build>
+                                <cleanup>try</cleanup>
+                                <noCache>true</noCache>
+                                <contextDir>${basedir}/target/docker-stage</contextDir>
+                                <dockerFile>Dockerfile</dockerFile>
+                                <args>
+                                    <AAF>true</AAF>
+                                </args>
+                                <tags>
+                                    <tag>${project.docker.latestminortag.version}</tag>
+                                    <tag>${project.docker.latestfulltag.version}</tag>
+                                    <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                </tags>
+                            </build>
+                        </image>
+                        <image>
+                            <name>${standalone.image.name}</name>
+                            <build>
+                                <cleanup>try</cleanup>
+                                <noCache>true</noCache>
+                                <contextDir>${basedir}/target/docker-stage</contextDir>
+                                <dockerFile>Dockerfile</dockerFile>
+                                <args>
+                                    <AAF>false</AAF>
+                                </args>
+                                <tags>
+                                    <tag>${project.docker.latestminortag.version}</tag>
+                                    <tag>${project.docker.latestfulltag.version}</tag>
+                                    <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                </tags>
+                            </build>
+                        </image>
+                    </images>
+                    <verbose>${docker.verbose}</verbose>
+                    <skipPush>${docker.skip.push}</skipPush>
+                </configuration>
                 <executions>
                     <execution>
-                        <id>generate-images</id>
-                        <phase>package</phase>
+                        <id>build-push-images</id>
                         <goals>
                             <goal>build</goal>
+                            <goal>push</goal>
                         </goals>
-                        <configuration>
-                           <images>
-                            <image>
-                             <name>${image.name}</name>
-                             <build>
-                              <cleanup>try</cleanup>
-                              <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
-                              <dockerFile>Dockerfile</dockerFile>
-                              <tags>
-                                 <tag>${project.docker.latestminortag.version}</tag>
-                                 <tag>${project.docker.latestfulltag.version}</tag>
-                                 <tag>${project.docker.latesttagtimestamp.version}</tag>
-                              </tags>
-                             </build>
-                            </image>
-                           </images>
-                          </configuration>
                     </execution>
-                    <execution>
-                        <id>start-it-instance</id>
-                        <phase>pre-integration-test</phase>
-                        <goals>
-                            <goal>start</goal>
-                        </goals>
-                        <configuration>
-                            <images>
-                                <image>
-                                    <name>mariadb:10.5</name>
-                                    <alias>sdnc-db</alias>
-                                    <run>
-                                        <env>
-                                            <MYSQL_ROOT_PASSWORD>itsASecret</MYSQL_ROOT_PASSWORD>
-                                            <MYSQL_USER>sdnctl</MYSQL_USER>
-                                            <MYSQL_PASSWORD>gamma</MYSQL_PASSWORD>
-                                            <MYSQL_DATABASE>sdnctl</MYSQL_DATABASE>
-                                        </env>
-                                        <network>
-                                            <mode>custom</mode>
-                                            <name>sdnc</name>
-                                            <alias>dbhost</alias>
-                                            <alias>sdnctldb01</alias>
-                                            <alias>sdnctldb02</alias>
-                                        </network>
-                                        <ports>
-                                            <port>sdncdb.port:3306</port>
-                                        </ports>
-                                        <log>
-                                            <enabled>true</enabled>
-                                        </log>
-                                    </run>
-                                </image>
-                                <image>
-                                    <name>${image.name}:${project.docker.latesttagtimestamp.version}</name>
-                                    <alias>sdnc-container</alias>
-                                    <run>
-                                        <env>
-                                            <ODL_ADMIN_PASSWORD>admin</ODL_ADMIN_PASSWORD>
-                                            <MYSQL_ROOT_PASSWORD>itsASecret</MYSQL_ROOT_PASSWORD>
-                                            <MYSQL_USER>sdnctl</MYSQL_USER>
-                                            <MYSQL_PASSWORD>gamma</MYSQL_PASSWORD>
-                                            <MYSQL_DATABASE>sdnctl</MYSQL_DATABASE>
-                                            <SDNC_CONFIG_DIR>/opt/onap/sdnc/data/properties</SDNC_CONFIG_DIR>
-                                            <KARAF_CONSOLE_LOG_LEVEL>INFO</KARAF_CONSOLE_LOG_LEVEL>
-                                        </env>
-                                        <dependsOn>
-                                            <container>sdnc-db</container>
-                                        </dependsOn>
-                                        <network>
-                                            <mode>custom</mode>
-                                            <name>sdnc</name>
-                                            <alias>sdnc</alias>
-                                        </network>&gt;
-                                        <ports>
-                                            <port>sdnc.port:8181</port>
-                                        </ports>
-                                        <wait>
-                                            <log>all warp coils are now operating at peak efficiency</log>
-                                            <time>120000</time>
-                                        </wait>
-                                        <log>
-                                            <enabled>true</enabled>
-                                        </log>
-                                    </run>
-                                </image>
-                            </images>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>stop-it-instance</id>
-                        <phase>post-integration-test</phase>
-                        <goals>
-                            <goal>stop</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                      <id>push-images</id>
-                      <phase>${docker.push.phase}</phase>
-                      <goals>
-                       <goal>build</goal>
-                       <goal>push</goal>
-                      </goals>
-                       <configuration>
-                        <images>
-                         <image>
-                          <name>${image.name}</name>
-                          <build>
-                           <cleanup>try</cleanup>
-                           <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
-                           <dockerFile>Dockerfile</dockerFile>
-                           <tags>
-                              <tag>${project.docker.latestminortag.version}</tag>
-                              <tag>${project.docker.latestfulltag.version}</tag>
-                              <tag>${project.docker.latesttagtimestamp.version}</tag>
-                           </tags>
-                          </build>
-                         </image>
-                        </images>
-                       </configuration>
-                   </execution>
-                   <execution>
-                     <id>generate-standalone-images</id>
-                     <phase>package</phase>
-                     <goals>
-                      <goal>build</goal>
-                     </goals>
-                     <configuration>
-                      <images>
-                       <image>
-                        <name>${standalone.image.name}</name>
-                        <build>
-                         <cleanup>try</cleanup>
-                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
-                         <dockerFile>standalone.Dockerfile</dockerFile>
-                         <tags>
-                             <tag>${project.docker.latestminortag.version}</tag>
-                             <tag>${project.docker.latestfulltag.version}</tag>
-                             <tag>${project.docker.latesttagtimestamp.version}</tag>
-                         </tags>
-                        </build>
-                       </image>
-                      </images>
-                     </configuration>
-                   </execution>
-                   <execution>
-                     <id>push-standalone-images</id>
-                     <phase>${docker.push.phase}</phase>
-                     <goals>
-                      <goal>build</goal>
-                      <goal>push</goal>
-                     </goals>
-                     <configuration>
-                       <images>
-                        <image>
-                         <name>${standalone.image.name}</name>
-                         <build>
-                          <cleanup>try</cleanup>
-                          <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
-                          <dockerFile>standalone.Dockerfile</dockerFile>
-                          <tags>
-                             <tag>${project.docker.latestminortag.version}</tag>
-                             <tag>${project.docker.latestfulltag.version}</tag>
-                             <tag>${project.docker.latesttagtimestamp.version}</tag>
-                          </tags>
-                         </build>
-                        </image>
-                       </images>
-                     </configuration>
-                  </execution>
                 </executions>
             </plugin>
             <plugin>
                                     <directory>src/main/docker</directory>
                                     <includes>
                                         <include>Dockerfile</include>
-                                        <include>standalone.Dockerfile</include>
                                     </includes>
                                     <filtering>true</filtering>
                                 </resource>
                                         <include>*.py</include>
                                         <include>*.sh</include>
                                     </includes>
-                                    <filtering>false</filtering>
+                                    <filtering>true</filtering>
                                 </resource>
                             </resources>
                         </configuration>
                 <version>3.0.2</version>
                 <executions>
                     <execution>
-                        <id>unpack sdnc features</id>
+                        <id>unpack-sdnc-features</id>
                         <phase>generate-sources</phase>
                         <goals>
                             <goal>unpack-dependencies</goal>
                         </configuration>
                     </execution>
                     <execution>
-                        <id>unpack dgs</id>
+                        <id>unpack-platform-logic</id>
                         <phase>generate-sources</phase>
                         <goals>
                             <goal>unpack</goal>
                         </configuration>
                     </execution>
                     <execution>
-                        <id>unpack migration utility</id>
+                        <id>unpack-data-migrator</id>
                         <phase>generate-sources</phase>
                         <goals>
                             <goal>unpack</goal>
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>exec-maven-plugin</artifactId>
-                <version>1.5.0</version>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>1.8</version>
                 <executions>
                     <execution>
-                        <id>change shell permissions</id>
+                        <id>change-shell-permissions</id>
                         <phase>process-sources</phase>
-                        <goals>
-                            <goal>exec</goal>
-                        </goals>
                         <configuration>
-                            <executable>/usr/bin/find</executable>
-                            <arguments>
-                                <argument>${basedir}/target/docker-stage/opt/onap/sdnc</argument>
-                                <argument>-name</argument>
-                                <argument>*.sh</argument>
-                                <argument>-exec</argument>
-                                <argument>chmod</argument>
-                                <argument>+x</argument>
-                                <argument>{}</argument>
-                                <argument>;</argument>
-                            </arguments>
+                            <target>
+                                <chmod dir="${basedir}/target/docker-stage/opt/onap/sdnc" perm="+x" includes="**/*.sh"/>
+                            </target>
                         </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
                     </execution>
                 </executions>
             </plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-failsafe-plugin</artifactId>
                 <executions>
-                  <execution>
-                    <goals>
-                      <goal>integration-test</goal>
-                      <goal>verify</goal>
-                    </goals>
-                  </execution>
+                    <execution>
+                        <goals>
+                            <goal>integration-test</goal>
+                            <goal>verify</goal>
+                        </goals>
+                    </execution>
                 </executions>
                 <configuration>
-                  <skipITs>false</skipITs>
-                  <environmentVariables>
-                    <SDNC_PORT>${sdnc.port}</SDNC_PORT>
-                  </environmentVariables>
+                    <skipITs>false</skipITs>
+                    <environmentVariables>
+                        <SDNC_PORT>${sdnc.port}</SDNC_PORT>
+                    </environmentVariables>
                 </configuration>
-              </plugin>
+            </plugin>
         </plugins>
     </build>
 </project>