Fixed project version parsing 91/92791/4
authorDmitry Puzikov <dmitry.puzikov@tieto.com>
Fri, 12 Apr 2019 10:49:05 +0000 (12:49 +0200)
committerDmitry Puzikov <dmitry.puzikov@tieto.com>
Thu, 29 Aug 2019 12:58:41 +0000 (14:58 +0200)
Change-Id: I4d5179b66f9a7e210a8a9c51e80bd029a1f83983
Issue-ID: INT-762
Signed-off-by: Dmitry Puzikov <dmitry.puzikov@tieto.com>
aai-traversal/pom.xml
aai-traversal/src/main/docker/Dockerfile
aai-traversal/src/main/docker/aai.sh

index 35d2a93..8f4e5ef 100644 (file)
@@ -78,6 +78,7 @@
         <janino.version>2.7.8</janino.version>
         <google.guava.version>19.0</google.guava.version>
         <janusgraph.version>0.2.3</janusgraph.version>
+        <jnr.ffi.version>2.1.9</jnr.ffi.version>
         <gremlin.version>3.2.2</gremlin.version>
         <smack.version>3.0.4</smack.version>
         <json.simple.version>1.1.1</json.simple.version>
 
         <eclipse.jetty.version>9.4.1.v20170120</eclipse.jetty.version>
 
-        <docker.fabric.version>0.23.0</docker.fabric.version>
+        <docker.fabric.version>0.28.0</docker.fabric.version>
         <!-- Default docker registry that maven fabric plugin will try to pull from -->
         <docker.registry>docker.io</docker.registry>
         <!-- Specifying the docker push registry where the image should be pushed -->
                 Check the ${project.artifactId}/src/main/assembly/descriptor.xml for more info
         -->
         <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/</aai.build.directory>
+        <aai.docker.version>1.0.0</aai.docker.version>
         <aai.docker.namespace>onap</aai.docker.namespace>
+        <aai.base.image>alpine</aai.base.image>
+        <aai.base.image.version>1.6.0</aai.base.image.version>
 
         <!--
             Nexus Proxy Properties and Snapshot Locations
             <id>docker</id>
             <build>
                 <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.groovy.maven</groupId>
+                        <artifactId>gmaven-plugin</artifactId>
+                        <version>1.0</version>
+                        <executions>
+                            <execution>
+                                <phase>pre-clean</phase>
+                            </execution>
+                            <execution>
+                                <id>parse-base</id>
+                                <phase>prepare-package</phase>
+                                <goals>
+                                    <goal>execute</goal>
+                                </goals>
+                                <configuration>
+                                    <source>
+                                        def userAaiBaseImage = session.userProperties['aai.base.image'];
+                                        def userAaiCommonVersion = session.userProperties['aai.base.image.version'];
+                                        if (userAaiCommonVersion != null) {
+                                            project.properties['aai.base.image.version'] = userAaiCommonVersion;
+                                        }
+                                        if (userAaiBaseImage != null) {
+                                            project.properties['aai.base.image'] = userAaiBaseImage;
+                                        }
+                                        log.info 'Base image flavour: ' + project.properties['aai.base.image'];
+                                        log.info 'Base image version: ' + project.properties['aai.base.image.version'];
+                                    </source>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
                     <plugin>
                         <groupId>io.fabric8</groupId>
                         <artifactId>docker-maven-plugin</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
+        <!--
+            indirect janusgraph-cassandra dependency
+            need to be newer than default one
+            in order to support multiple cpu archs
+        -->
+        <dependency>
+            <groupId>com.github.jnr</groupId>
+            <artifactId>jnr-ffi</artifactId>
+            <version>${jnr.ffi.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>
             <artifactId>gremlin-driver</artifactId>
index bbe0aa3..6ab1dd1 100644 (file)
@@ -1,25 +1,19 @@
-FROM aaionap/aai-common:1.3.0
-
-
-# Add the proper files into the docker image from your build
-WORKDIR /opt/app/aai-traversal
-
-# Expose the ports for outside linux to use
-# 8446 is the important one to be used
-EXPOSE 8446
-
-
-HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8446 || exit 1
-
-ENTRYPOINT ["/bin/bash", "/opt/app/aai-traversal/docker-entrypoint.sh"]
+FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@
 
 RUN  mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-GQ
 
 VOLUME /opt/aai/logroot/AAI-GQ
-
 VOLUME /tmp
 VOLUME /opt/tools
 
+HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8446 || exit 1
+
+# Add the proper files into the docker image from your build
+WORKDIR /opt/app/aai-traversal
 COPY /maven/aai-traversal/ .
 
 ENV AAI_BUILD_VERSION @aai.docker.version@
+# Expose the ports for outside linux to use
+# 8446 is the important one to be used
+EXPOSE 8446
+ENTRYPOINT ["/bin/bash", "/opt/app/aai-traversal/docker-entrypoint.sh"]
\ No newline at end of file
index a253775..8cda4f0 100644 (file)
 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
 #
 
-PROJECT_HOME=/opt/app/aai-traversal
-export PROJECT_HOME
-
-JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
-export JAVA_HOME
-
-AAIENV=dev
-export AAIENV
-
-PATH=/usr/lib/jvm/java-8-openjdk-amd64:$PATH
-
-PROJECT_OWNER=aaiadmin
-PROJECT_GROUP=aaiadmin
-PROJECT_UNIXHOMEROOT=/opt/aaihome
-export PROJECT_OWNER PROJECT_GROUP PROJECT_UNIXHOMEROOT
-umask 0022
-
+# set system related env
+# and make script compatible both with ubuntu and alpine base images
+# jre-alpine image has $JAVA_HOME set and added to $PATH
+# ubuntu image requires to set $JAVA_HOME and add java to $PATH manually
+if [ -z $JAVA_HOME ] && [ $(grep -i "ID=ubuntu" /etc/os-release | wc -w) -eq 1 ] ; then
+    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-`dpkg --print-architecture | awk -F- '{ print $NF }'`
+    export PATH=$PATH:${JAVA_HOME}/jre/bin:${JAVA_HOME}/bin
+fi
+
+# set app related env
+export PROJECT_HOME=/opt/app/aai-traversal
+export AAIENV=dev
+export PROJECT_OWNER=aaiadmin
+export PROJECT_GROUP=aaiadmin
+export PROJECT_UNIXHOMEROOT=/opt/aaihome
 export idns_api_url=
 export idnscred=
 export idnstenant=
-
-
+umask 0022