summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--aai-traversal/pom.xml47
-rw-r--r--aai-traversal/src/main/docker/Dockerfile24
-rw-r--r--aai-traversal/src/main/docker/aai.sh35
3 files changed, 71 insertions, 35 deletions
diff --git a/aai-traversal/pom.xml b/aai-traversal/pom.xml
index 35d2a93..8f4e5ef 100644
--- a/aai-traversal/pom.xml
+++ b/aai-traversal/pom.xml
@@ -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>
@@ -106,7 +107,7 @@
<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 -->
@@ -119,7 +120,10 @@
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
@@ -170,6 +174,37 @@
<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>
<version>${docker.fabric.version}</version>
@@ -494,6 +529,16 @@
</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>
diff --git a/aai-traversal/src/main/docker/Dockerfile b/aai-traversal/src/main/docker/Dockerfile
index bbe0aa3..6ab1dd1 100644
--- a/aai-traversal/src/main/docker/Dockerfile
+++ b/aai-traversal/src/main/docker/Dockerfile
@@ -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
diff --git a/aai-traversal/src/main/docker/aai.sh b/aai-traversal/src/main/docker/aai.sh
index a253775..8cda4f0 100644
--- a/aai-traversal/src/main/docker/aai.sh
+++ b/aai-traversal/src/main/docker/aai.sh
@@ -20,25 +20,22 @@
# 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