summaryrefslogtreecommitdiffstats
path: root/models-sim/packages/models-simulator-docker/src/main
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2022-06-29 14:04:09 +0100
committerliamfallon <liam.fallon@est.tech>2022-06-30 14:07:23 +0100
commit8c8eb415ca57830d462cefbe8d659b3b98b6de7c (patch)
tree17ba597b4a5a8bfa5dae6251fef4c0494cdee1b7 /models-sim/packages/models-simulator-docker/src/main
parented439e7e8dafbdd87ace0604dc6230bb9563f995 (diff)
Fix simulator docker file and startup script
The nmodels-simulator startup script is updated to: - enable logging - allow overriding of keystore and truststore - allow overriding of configuration parameters - Follow the same conventions as other docker files and startup scripts - Add labelling - Provide default configuration Issue-ID: POLICY-4233 Change-Id: I6c25dc77c510a52ec298883f2534428807b1c253 Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'models-sim/packages/models-simulator-docker/src/main')
-rw-r--r--models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile40
-rw-r--r--models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh42
2 files changed, 46 insertions, 36 deletions
diff --git a/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile b/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile
index 50f84d96c..c5832bfd7 100644
--- a/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile
+++ b/models-sim/packages/models-simulator-docker/src/main/docker/Dockerfile
@@ -22,11 +22,7 @@
# ============LICENSE_END=========================================================
#
-#
-# Docker file to build an image that runs the simulators
-#
-
-FROM onap/policy-jre-alpine:2.3.1
+FROM onap/policy-jre-alpine:2.4.3
LABEL maintainer="Policy Team"
LABEL org.opencontainers.image.title="Policy Models Simulator"
@@ -40,30 +36,22 @@ LABEL org.opencontainers.image.revision="${git.commit.id.abbrev}"
ARG POLICY_LOGS=/var/log/onap/policy/simulators
-ENV POLICY_HOME /opt/app/policy
-ENV POLICY_LOGS ${POLICY_LOGS}
+ENV POLICY_LOGS=$POLICY_LOGS
+ENV POLICY_HOME=$POLICY_HOME/simulators
-# Create DMaaP simulator user and group
-# Add simulator-specific directories and set ownership as the simulator user
-RUN mkdir -p ${POLICY_HOME}/simulators \
- && mkdir -p ${POLICY_HOME}/simulators/bin \
- && mkdir -p ${POLICY_LOGS} \
- && mkdir /packages
+RUN mkdir -p $POLICY_HOME $POLICY_LOGS $POLICY_HOME/bin && \
+ chown -R policy:policy $POLICY_HOME $POLICY_LOGS && \
+ mkdir /packages
+COPY /maven/lib/models-simulator.tar.gz /packages
-# Unpack the tarball
-COPY /maven/* /packages
-RUN tar xvfz /packages/models-simulator.tar.gz --directory ${POLICY_HOME}/simulators \
+RUN tar xvfz /packages/models-simulator.tar.gz --directory ${POLICY_HOME} \
&& rm /packages/models-simulator.tar.gz
-# Ensure everything has the correct permissions
-# Copy scripts simulator user area
-COPY simulators.sh ${POLICY_HOME}/simulators/bin
-RUN find /opt/app -type d -perm 755 \
- && find /opt/app -type f -perm 644 \
- && chmod 755 ${POLICY_HOME}/simulators/bin/* \
- && chown -R policy:policy $POLICY_HOME $POLICY_LOGS
+WORKDIR $POLICY_HOME
+COPY simulators.sh bin/.
-USER policy:policy
+RUN chown -R policy:policy * && chmod 755 bin/*.sh && chown -R policy:policy /app
-ENV PATH ${POLICY_HOME}/simulators/bin:$PATH
-ENTRYPOINT [ "simulators.sh" ]
+USER policy
+WORKDIR $POLICY_HOME/bin
+ENTRYPOINT [ "./simulators.sh" ]
diff --git a/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh b/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh
index fdf680589..3d382a876 100644
--- a/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh
+++ b/models-sim/packages/models-simulator-docker/src/main/docker/simulators.sh
@@ -23,21 +23,43 @@
# ============LICENSE_END=========================================================
#
-if [ -z "$SIMULATOR_HOME" ]
-then
- SIMULATOR_HOME=${POLICY_HOME}/simulators
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -ge 1 ]; then
+ CONFIG_FILE=$1
+else
+ CONFIG_FILE=${CONFIG_FILE}
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/simParameters.json"
fi
-KEYSTORE="${SIMULATOR_HOME}/etc/ssl/policy-keystore"
-KEYSTORE_PASSWD="Pol1cy_0nap"
-TRUSTSTORE="${SIMULATOR_HOME}/etc/ssl/policy-truststore"
-TRUSTSTORE_PASSWD="Pol1cy_0nap"
+echo "Policy simulator config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback.xml"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
${JAVA_HOME}/bin/java \
- -cp "${SIMULATOR_HOME}/etc:${SIMULATOR_HOME}/lib/*" \
+ -cp "${POLICY_HOME}/etc:${POLICY_HOME}/lib/*" \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
-Djavax.net.ssl.keyStore="${KEYSTORE}" \
-Djavax.net.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
-Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
-Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
- org.onap.policy.models.simulators.Main \
- ${SIMULATOR_HOME}/etc/mounted/simParameters.json
+ org.onap.policy.models.simulators.Main ${CONFIG_FILE}