aboutsummaryrefslogtreecommitdiffstats
path: root/aai-schema-service
diff options
context:
space:
mode:
Diffstat (limited to 'aai-schema-service')
-rw-r--r--aai-schema-service/pom.xml51
-rw-r--r--aai-schema-service/src/main/docker/Dockerfile32
-rw-r--r--aai-schema-service/src/main/docker/docker-entrypoint.sh83
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java2
4 files changed, 93 insertions, 75 deletions
diff --git a/aai-schema-service/pom.xml b/aai-schema-service/pom.xml
index 56410a5..8bcd2d4 100644
--- a/aai-schema-service/pom.xml
+++ b/aai-schema-service/pom.xml
@@ -50,7 +50,7 @@
</aai.build.directory>
<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>
+ <aai.base.image.version>1.8.1</aai.base.image.version>
<maven.skip.tests>true</maven.skip.tests>
@@ -161,7 +161,7 @@
</execution>
<execution>
<id>generate-images</id>
- <phase>package</phase>
+ <phase>verify</phase>
<goals>
<goal>build</goal>
</goals>
@@ -270,6 +270,11 @@
</profiles>
<dependencies>
<dependency>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ <version>3.0.0</version>
+ </dependency>
+ <dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<scope>compile</scope>
@@ -339,14 +344,17 @@
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
+ <version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -626,6 +634,45 @@
</resources>
</configuration>
</execution>
+ <execution>
+ <id>copy-fat-jar</id>
+ <!--
+ Reason the phase for this is set in the post integration phase due
+ to the spring boot maven plugin repackages post package phase
+
+ So basically first the spring boot plugin in phase package or pre package
+ only creates an jar without its dependencies
+
+ ls -trl target/
+
+ 3.3 MB aai-schema-1.8.0-SNAPSHOT.jar
+
+ Then in the post package or during the package phase, it would get dependencies
+ and convert it into an fat jar
+
+ 80 MB aai-schema-1.8.0-SNAPSHOT.jar
+
+ During the package phase if the copy of the above aai-schema-1.8.0-SNAPSHOT jar
+ was done, it would take the slim 3.3 MB jar and wouldn't include any of the dependencies
+ so thats why the phase for this exection must be in post the spring boot repackage phase
+ -->
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${aai.build.directory}/lib/</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${project.build.directory}/</directory>
+ <includes>
+ <include>${project.artifactId}-${project.version}.jar</include>
+ </includes>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
</executions>
</plugin>
<plugin>
diff --git a/aai-schema-service/src/main/docker/Dockerfile b/aai-schema-service/src/main/docker/Dockerfile
index 73cdfd7..6efa8d1 100644
--- a/aai-schema-service/src/main/docker/Dockerfile
+++ b/aai-schema-service/src/main/docker/Dockerfile
@@ -1,28 +1,30 @@
FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@
-RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SCHEMA-SERVICE /opt/app/aai-schema-service/logs/gc
+# Add the proper files into the docker image from your build
+WORKDIR /opt/app/aai-schema-service
-VOLUME /opt/aai/logroot/AAI-SS
-VOLUME /tmp
-VOLUME /opt/tools
+# Expose the ports for outside linux to use
+# 8447 is the important one to be used
+EXPOSE 8447
HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8452 || exit 1
-RUN groupadd aaiadmin -g 1000
+ENTRYPOINT ["/sbin/tini", "--", "/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"]
-RUN adduser -u 1000 -h /opt/aaihome/aaiadmin -S -D -G aaiadmin -s /bin/bash aaiadmin
+VOLUME /tmp
+VOLUME /opt/tools
-# Add the proper files into the docker image from your build
-WORKDIR /opt/app/aai-schema-service
+USER root
-RUN chown -R aaiadmin:aaiadmin /opt/app/aai-schema-service /etc/profile.d /opt/aai/logroot/AAI-SS /opt/app /opt/aai/logroot /opt/app/aai-schema-service/logs/gc
+COPY --chown=aaiadmin:aaiadmin /maven/aai-schema-service/ /opt/app/aai-schema-service
-COPY --chown=aaiadmin:aaiadmin /maven/aai-schema-service/ .
+RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SS && \
+ chown -R aaiadmin:aaiadmin /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SS && \
+ chmod 777 /opt/app/aai-schema-service /opt/app/aai-schema-service/resources/etc/auth
-USER aaiadmin
ENV AAI_BUILD_VERSION @aai.docker.version@
-# Expose the ports for outside linux to use
-# 8452 is the important one to be used
-EXPOSE 8452
-ENTRYPOINT ["/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"]
+
+WORKDIR /opt/app/aai-schema-service
+
+USER aaiadmin
diff --git a/aai-schema-service/src/main/docker/docker-entrypoint.sh b/aai-schema-service/src/main/docker/docker-entrypoint.sh
index 6d1161d..1f33bdd 100644
--- a/aai-schema-service/src/main/docker/docker-entrypoint.sh
+++ b/aai-schema-service/src/main/docker/docker-entrypoint.sh
@@ -18,87 +18,56 @@
# ============LICENSE_END=========================================================
###
-APP_HOME=$(pwd);
+APP_HOME=/opt/app/aai-schema-service;
RESOURCES_HOME=${APP_HOME}/resources/;
export SERVER_PORT=${SERVER_PORT:-8452};
-find /opt/app/ -name "*.sh" -exec chmod +x {} +
+if [[ ! -h "${APP_HOME}/scripts" ]]; then
-if [ -f ${APP_HOME}/aai.sh ]; then
+ ln -s ${APP_HOME}/bin ${APP_HOME}/scripts;
+ ln -s /opt/aai/logroot/AAI-SS ${APP_HOME}/logs;
- ln -s bin scripts
- ln -s /opt/aai/logroot/AAI-SS logs
+ if [ ! -f ${APP_HOME}/bin/updatePem.sh ]; then
+ echo "Unable to find the updatePem script";
+ exit 1;
+ else
+ ${APP_HOME}/bin/updatePem.sh
+ fi;
- mv ${APP_HOME}/aai.sh /etc/profile.d/aai.sh
- chmod 755 /etc/profile.d/aai.sh
+fi
- scriptName=$1;
+scriptName=$1;
- if [ ! -z $scriptName ]; then
+if [ ! -z $scriptName ]; then
- if [ -f ${APP_HOME}/bin/${scriptName} ]; then
- shift 1;
- ${APP_HOME}/bin/${scriptName} "$@" || {
- echo "Failed to run the ${scriptName}";
- exit 1;
- }
- else
- echo "Unable to find the script ${scriptName} in ${APP_HOME}/bin";
+ if [ -f ${APP_HOME}/bin/${scriptName} ]; then
+ shift 1;
+ ${APP_HOME}/bin/${scriptName} "$@" || {
+ echo "Failed to run the ${scriptName}";
exit 1;
- fi;
-
- exit 0;
+ }
+ else
+ echo "Unable to find the script ${scriptName} in ${APP_HOME}/bin";
+ exit 1;
fi;
+ exit 0;
fi;
+mkdir -p /opt/app/aai-schema-service/logs/gc
+mkdir -p /opt/app/aai-schema-service/logs/heap-dumps
+
if [ -f ${APP_HOME}/resources/aai-schema-service-swm-vars.sh ]; then
source ${APP_HOME}/resources/aai-schema-service-swm-vars.sh;
fi;
-if [ ! -z "${HEAP_SIZE}" ]; then
- MIN_HEAP_SIZE=${HEAP_SIZE};
- MAX_HEAP_SIZE=${HEAP_SIZE};
-fi;
-
-MIN_HEAP_SIZE=${MIN_HEAP_SIZE:-512m};
-MAX_HEAP_SIZE=${MAX_HEAP_SIZE:-1024m};
-MAX_METASPACE_SIZE=${MAX_METASPACE_SIZE:-512m};
-
JAVA_CMD="exec java";
-JVM_OPTS="${PRE_JVM_ARGS} -Xloggc:/opt/app/aai-schema-service/logs/gc/aai_gc.log";
-JVM_OPTS="${JVM_OPTS} -XX:HeapDumpPath=/opt/app/aai-schema-service/logs/ajsc-jetty/heap-dump";
-JVM_OPTS="${JVM_OPTS} -Xms${MIN_HEAP_SIZE}";
-JVM_OPTS="${JVM_OPTS} -Xmx${MAX_HEAP_SIZE}";
-
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps";
-JVM_OPTS="${JVM_OPTS} -XX:MaxMetaspaceSize=${MAX_METASPACE_SIZE}";
-
-JVM_OPTS="${JVM_OPTS} -server";
-JVM_OPTS="${JVM_OPTS} -XX:NewSize=512m";
-JVM_OPTS="${JVM_OPTS} -XX:MaxNewSize=512m";
-JVM_OPTS="${JVM_OPTS} -XX:SurvivorRatio=8";
-JVM_OPTS="${JVM_OPTS} -XX:+DisableExplicitGC";
-JVM_OPTS="${JVM_OPTS} -verbose:gc";
-JVM_OPTS="${JVM_OPTS} -XX:+UseParNewGC";
-JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled";
-JVM_OPTS="${JVM_OPTS} -XX:+CMSClassUnloadingEnabled";
-JVM_OPTS="${JVM_OPTS} -XX:+UseConcMarkSweepGC";
-JVM_OPTS="${JVM_OPTS} -XX:-UseBiasedLocking";
-JVM_OPTS="${JVM_OPTS} -XX:ParallelGCThreads=4";
-JVM_OPTS="${JVM_OPTS} -XX:LargePageSizeInBytes=128m";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps";
+JVM_OPTS="${PRE_JVM_ARGS}";
JVM_OPTS="${JVM_OPTS} -Dsun.net.inetaddr.ttl=180";
-JVM_OPTS="${JVM_OPTS} -XX:+HeapDumpOnOutOfMemoryError";
JVM_OPTS="${JVM_OPTS} ${POST_JVM_ARGS}";
JAVA_OPTS="${PRE_JAVA_OPTS} -DAJSC_HOME=$APP_HOME";
-if [ -f ${INTROSCOPE_LIB}/Agent.jar ] && [ -f ${INTROSCOPE_AGENTPROFILE} ]; then
- JAVA_OPTS="${JAVA_OPTS} -javaagent:${INTROSCOPE_LIB}/Agent.jar -noverify -Dcom.wily.introscope.agentProfile=${INTROSCOPE_AGENTPROFILE} -Dintroscope.agent.agentName=schema-service"
-fi
JAVA_OPTS="${JAVA_OPTS} -Dserver.port=${SERVER_PORT}";
JAVA_OPTS="${JAVA_OPTS} -DBUNDLECONFIG_DIR=./resources";
JAVA_OPTS="${JAVA_OPTS} -Dserver.local.startpath=${RESOURCES_HOME}";
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
index 016e86f..16136d5 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
@@ -37,7 +37,7 @@ import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import javax.xml.XMLConstants;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;