aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/packages/docker-controlloop/src/main
diff options
context:
space:
mode:
authorJorge Hernandez <jorge.hernandez-herrero@att.com>2020-02-18 14:22:24 +0000
committerGerrit Code Review <gerrit@onap.org>2020-02-18 14:22:24 +0000
commit9c2cabe28c17bb243a29f218f21aafee7e9a70e4 (patch)
treeae854f33b2f5b9aad8abdd257f4cae5bf50fb397 /controlloop/packages/docker-controlloop/src/main
parent43b12b12c0c427bc89ab88f4d4034821d4c9835d (diff)
parent927533c112b7bb50c7f19fe9a6286669ba572179 (diff)
Merge "Inherit from PDP-D (native policies) base image"
Diffstat (limited to 'controlloop/packages/docker-controlloop/src/main')
-rw-r--r--controlloop/packages/docker-controlloop/src/main/assembly/assembly.xml3
-rw-r--r--controlloop/packages/docker-controlloop/src/main/docker/Dockerfile19
-rw-r--r--controlloop/packages/docker-controlloop/src/main/resources/docker-entrypoint.sh304
-rw-r--r--controlloop/packages/docker-controlloop/src/main/resources/pdpd-cl-entrypoint.sh73
4 files changed, 80 insertions, 319 deletions
diff --git a/controlloop/packages/docker-controlloop/src/main/assembly/assembly.xml b/controlloop/packages/docker-controlloop/src/main/assembly/assembly.xml
index 7deffeb8f..f35050b44 100644
--- a/controlloop/packages/docker-controlloop/src/main/assembly/assembly.xml
+++ b/controlloop/packages/docker-controlloop/src/main/assembly/assembly.xml
@@ -3,6 +3,7 @@
PDP-D APPS Installation Package
================================================================================
Copyright (C) 2019 Bell Canada. All rights reserved.
+ Modifications Copyright (C) 2020 AT&T. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -28,7 +29,7 @@
<outputDirectory>.</outputDirectory>
<filtered>true</filtered>
<includes>
- <include>docker-entrypoint.sh</include>
+ <include>pdpd-cl-entrypoint.sh</include>
</includes>
<fileMode>755</fileMode>
</fileSet>
diff --git a/controlloop/packages/docker-controlloop/src/main/docker/Dockerfile b/controlloop/packages/docker-controlloop/src/main/docker/Dockerfile
index 98bf35a8e..464720360 100644
--- a/controlloop/packages/docker-controlloop/src/main/docker/Dockerfile
+++ b/controlloop/packages/docker-controlloop/src/main/docker/Dockerfile
@@ -3,23 +3,14 @@ FROM onap/policy-drools:@version.policy.drools-pdp@
ARG BUILD_VERSION_APP_CL=${BUILD_VERSION_APP_CL}
ENV BUILD_VERSION_APP_CL=${BUILD_VERSION_APP_CL}
-COPY /maven/apps-controlloop.zip $POLICY_INSTALL/
+COPY --chown=policy:policy /maven/apps-controlloop.zip $POLICY_INSTALL/
+COPY --chown=policy:policy /maven/pdpd-cl-entrypoint.sh $POLICY_HOME/bin/
RUN unzip apps-controlloop.zip && \
- mkdir -p $POLICY_HOME/logs $POLICY_HOME/config $HOME/.m2 && \
- tar -C $POLICY_HOME -xvf base-${BUILD_VERSION_DROOLS}.tar.gz --no-same-owner && \
tar -C $POLICY_HOME -xvf basex-controlloop-$BUILD_VERSION_APP_CL.tar.gz --no-same-owner && \
- unzip policy-management-${BUILD_VERSION_DROOLS}.zip -d $POLICY_HOME && \
- echo "source $POLICY_HOME/etc/profile.d/env.sh" >> "$HOME/.bashrc" && \
chmod 700 $POLICY_HOME/bin/* && \
chmod 600 $POLICY_HOME/config/* && \
- chmod 700 $POLICY_INSTALL/*.sh && \
- rm -f $POLICY_INSTALL/*.conf
-
-COPY /maven/docker-entrypoint.sh $POLICY_HOME/bin/
-
-RUN . $POLICY_HOME/etc/profile.d/env.sh && \
- $POLICY_HOME/bin/features install healthcheck distributed-locking lifecycle && \
+ . $POLICY_HOME/etc/profile.d/env.sh && \
$POLICY_HOME/bin/features install controlloop-utils controlloop-trans controlloop-management && \
$POLICY_HOME/bin/features install controlloop-amsterdam controlloop-usecases && \
$POLICY_HOME/bin/features enable healthcheck distributed-locking lifecycle && \
@@ -31,7 +22,7 @@ RUN . $POLICY_HOME/etc/profile.d/env.sh && \
-a $POLICY_HOME/features/controlloop-usecases/artifacts/controller-usecases-$BUILD_VERSION_APP_CL.jar && \
find $HOME/.m2/ -name _maven.repositories -exec rm -v {} \; && \
find $HOME/.m2/ -name _remote.repositories -exec rm -v {} \; && \
- rm $POLICY_INSTALL/*.zip $POLICY_INSTALL/*.gz 2> /dev/null
+ rm $POLICY_INSTALL/apps-controlloop.zip $POLICY_INSTALL/basex-controlloop-$BUILD_VERSION_APP_CL.tar.gz 2> /dev/null
-ENTRYPOINT ["/opt/app/policy/bin/docker-entrypoint.sh"]
+ENTRYPOINT ["/opt/app/policy/bin/pdpd-cl-entrypoint.sh"]
CMD ["boot"]
diff --git a/controlloop/packages/docker-controlloop/src/main/resources/docker-entrypoint.sh b/controlloop/packages/docker-controlloop/src/main/resources/docker-entrypoint.sh
deleted file mode 100644
index a1d689a07..000000000
--- a/controlloop/packages/docker-controlloop/src/main/resources/docker-entrypoint.sh
+++ /dev/null
@@ -1,304 +0,0 @@
-#!/bin/bash
-
-# ########################################################################
-# Copyright 2019-2020 AT&T Intellectual Property. All rights reserved
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ########################################################################
-
-
-function maven {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- if [[ -f "${POLICY_INSTALL_INIT}"/settings.xml ]]; then
- if ! cmp -s "${POLICY_INSTALL_INIT}"/settings.xml "${POLICY_HOME}"/etc/m2/settings.xml; then
- echo "overriding settings.xml"
- cp -f "${POLICY_INSTALL_INIT}"/settings.xml "${POLICY_HOME}"/etc/m2
- fi
- fi
-
- if [[ -f "${POLICY_INSTALL_INIT}"/standalone-settings.xml ]]; then
- if ! cmp -s "${POLICY_INSTALL_INIT}"/standalone-settings.xml "${POLICY_HOME}"/etc/m2/standalone-settings.xml; then
- echo "overriding standalone-settings.xml"
- cp -f "${POLICY_INSTALL_INIT}"/standalone-settings.xml "${POLICY_HOME}"/etc/m2
- fi
- fi
-}
-
-function systemConfs {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- local confName
-
- if ! ls "${POLICY_INSTALL_INIT}"/*.conf > /dev/null 2>&1; then
- return 0
- fi
-
- for c in $(ls "${POLICY_INSTALL_INIT}"/*.conf 2> /dev/null); do
- echo "adding system conf file: ${c}"
- cp -f "${c}" "${POLICY_HOME}"/etc/profile.d/
- confName="$(basename "${c}")"
- sed -i -e "s/ *= */=/" -e "s/=\([^\"\']*$\)/='\1'/" "${POLICY_HOME}/etc/profile.d/${confName}"
- done
-
- source "${POLICY_HOME}"/etc/profile.d/env.sh
-}
-
-function features {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- if ! ls "${POLICY_INSTALL_INIT}"/features*.zip > /dev/null 2>&1; then
- return 0
- fi
-
- source "${POLICY_HOME}"/etc/profile.d/env.sh
-
- for f in $(ls "${POLICY_INSTALL_INIT}"/features*.zip 2> /dev/null); do
- echo "installing feature: ${f}"
- "${POLICY_HOME}"/bin/features install "${f}"
- done
-}
-
-function scripts {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- local scriptExtSuffix=${1:-"sh"}
-
- if ! ls "${POLICY_INSTALL_INIT}"/*."${scriptExtSuffix}" > /dev/null 2>&1; then
- return 0
- fi
-
- source "${POLICY_HOME}"/etc/profile.d/env.sh
-
- for s in $(ls "${POLICY_INSTALL_INIT}"/*."${scriptExtSuffix}" 2> /dev/null); do
- echo "executing script: ${s}"
- source "${s}"
- done
-}
-
-function security {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- if [[ -f "${POLICY_INSTALL_INIT}"/policy-keystore ]]; then
- if ! cmp -s "${POLICY_INSTALL_INIT}"/policy-keystore "${POLICY_HOME}"/etc/ssl/policy-keystore; then
- echo "overriding policy-keystore"
- cp -f "${POLICY_INSTALL_INIT}"/policy-keystore "${POLICY_HOME}"/etc/ssl
- fi
- fi
-
- if [[ -f ${POLICY_INSTALL_INIT}/policy-truststore ]]; then
- if ! cmp -s "${POLICY_INSTALL_INIT}"/policy-truststore "${POLICY_HOME}"/etc/ssl/policy-truststore; then
- echo "overriding policy-truststore"
- cp -f "${POLICY_INSTALL_INIT}"/policy-truststore "${POLICY_HOME}"/etc/ssl
- fi
- fi
-
- if [[ -f "${POLICY_INSTALL_INIT}"/aaf-cadi.keyfile ]]; then
- if ! cmp -s "${POLICY_INSTALL_INIT}"/aaf-cadi.keyfile "${POLICY_HOME}"/config/aaf-cadi.keyfile; then
- echo "overriding aaf-cadi.keyfile"
- cp -f "${POLICY_INSTALL_INIT}"/aaf-cadi.keyfile "${POLICY_HOME}"/config/aaf-cadi.keyfile
- fi
- fi
-}
-
-function serverConfig {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- local configExtSuffix=${1:-"properties"}
-
- if ! ls "${POLICY_INSTALL_INIT}"/*."${configExtSuffix}" > /dev/null 2>&1; then
- return 0
- fi
-
- for p in $(ls "${POLICY_INSTALL_INIT}"/*."${configExtSuffix}" 2> /dev/null); do
- echo "configuration ${configExtSuffix}: ${p}"
- cp -f "${p}" "${POLICY_HOME}"/config
- done
-}
-
-function db {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- if [[ -z ${SQL_HOST} ]]; then
- return 0
- fi
-
- echo "Wating for ${SQL_HOST} ."
- timeout 120 bash -c 'until nc -vz "${SQL_HOST}" 3306; do echo -n "."; sleep 1; done'; echo $?
-
- "${POLICY_HOME}"/bin/db-migrator -s ALL -o upgrade
-}
-
-function nexus {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- if [[ -z ${RELEASE_REPOSITORY_URL} ]]; then
- return 0
- fi
-
- # amsterdam legacy
-
- echo
- echo "checking if there are amsterdam policies already deployed .."
- echo
-
- local amsterdamVersion=$(curl --silent --connect-timeout 20 -X GET \
- "http://nexus:8081/nexus/service/local/artifact/maven/resolve?r=releases&g=org.onap.policy-engine.drools.amsterdam&a=policy-amsterdam-rules&v=RELEASE" \
- | grep -Po "(?<=<version>).*(?=</version>)")
-
- if [[ -z ${amsterdamVersion} ]]; then
- echo "no amsterdam policies have been found .."
- exit 0
- fi
-
- echo
- echo "The latest deployed amsterdam artifact in nexus has version ${amsterdamVersion}"
- echo
-
- sed -i.INSTALL \
- -e "s/^rules.artifactId=.*/rules.artifactId=policy-amsterdam-rules/g" \
- -e "s/^rules.groupId=.*/rules.groupId=org.onap.policy-engine.drools.amsterdam/g" \
- -e "s/^rules.version=.*/rules.version=${amsterdamVersion}/g" "${POLICY_HOME}"/config/amsterdam-controller.properties
-
- echo
- echo "amsterdam controller will be started brained with maven coordinates:"
- echo
-
- grep "^rules" "${POLICY_HOME}"/config/amsterdam-controller.properties
- echo
- echo
-}
-
-function inspect {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- echo "ENV: "
- env
- echo
- echo
-
- source "${POLICY_HOME}"/etc/profile.d/env.sh
- policy status
-
- echo
- echo
-}
-
-function reload {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- systemConfs
- maven
- features
- security
- serverConfig "properties"
- serverConfig "xml"
- serverConfig "json"
- scripts "pre.sh"
-}
-
-function start {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- source "${POLICY_HOME}"/etc/profile.d/env.sh
- policy start
-}
-
-function configure {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- reload
- db
-}
-
-function vmBoot {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- reload
- db
- start
- scripts "post.sh"
-}
-
-function dockerBoot {
- if [[ ${DEBUG} == y ]]; then
- echo "-- ${FUNCNAME[0]} --"
- set -x
- fi
-
- set -e
-
- vmBoot
-
- tail -f /dev/null
-}
-
-if [[ ${DEBUG} == y ]]; then
- echo "-- $0 $* --"
- set -x
-fi
-
-operation="${1}"
-case "${operation}" in
- inspect) inspect
- ;;
- boot) dockerBoot
- ;;
- vmboot) vmBoot
- ;;
- configure) configure
- ;;
- nexus) nexus
- ;;
- *) exec "$@"
- ;;
-esac
diff --git a/controlloop/packages/docker-controlloop/src/main/resources/pdpd-cl-entrypoint.sh b/controlloop/packages/docker-controlloop/src/main/resources/pdpd-cl-entrypoint.sh
new file mode 100644
index 000000000..9b9218757
--- /dev/null
+++ b/controlloop/packages/docker-controlloop/src/main/resources/pdpd-cl-entrypoint.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+# ########################################################################
+# Copyright 2019-2020 AT&T Intellectual Property. All rights reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ########################################################################
+
+function nexus {
+ if [[ ${DEBUG} == y ]]; then
+ echo "-- ${FUNCNAME[0]} --"
+ set -x
+ fi
+
+ if [[ -z ${RELEASE_REPOSITORY_URL} ]]; then
+ return 0
+ fi
+
+ # amsterdam legacy
+
+ echo
+ echo "checking if there are amsterdam policies already deployed .."
+ echo
+
+ local amsterdamVersion=$(curl --silent --connect-timeout 20 -X GET \
+ "http://nexus:8081/nexus/service/local/artifact/maven/resolve?r=releases&g=org.onap.policy-engine.drools.amsterdam&a=policy-amsterdam-rules&v=RELEASE" \
+ | grep -Po "(?<=<version>).*(?=</version>)")
+
+ if [[ -z ${amsterdamVersion} ]]; then
+ echo "no amsterdam policies have been found .."
+ exit 0
+ fi
+
+ echo
+ echo "The latest deployed amsterdam artifact in nexus has version ${amsterdamVersion}"
+ echo
+
+ sed -i.INSTALL \
+ -e "s/^rules.artifactId=.*/rules.artifactId=policy-amsterdam-rules/g" \
+ -e "s/^rules.groupId=.*/rules.groupId=org.onap.policy-engine.drools.amsterdam/g" \
+ -e "s/^rules.version=.*/rules.version=${amsterdamVersion}/g" "${POLICY_HOME}"/config/amsterdam-controller.properties
+
+ echo
+ echo "amsterdam controller will be started brained with maven coordinates:"
+ echo
+
+ grep "^rules" "${POLICY_HOME}"/config/amsterdam-controller.properties
+ echo
+ echo
+}
+
+if [[ ${DEBUG} == y ]]; then
+ echo "-- $0 $* --"
+ set -x
+fi
+
+operation="${1}"
+case "${operation}" in
+ nexus) nexus
+ ;;
+ *) ${POLICY_HOME}/bin/pdpd-entrypoint.sh "$@"
+ ;;
+esac