diff options
Diffstat (limited to 'aai-schema-service')
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; |