Run DB script before starting other containers
The other containers were starting before their user names had
been added to the DB. Consequently, they were aborting at start-up.
Modified the various setup.sh scripts to run the DB-init script
before starting the remaing containers.
Also add start_all to start the containers and wait for the ports
to start listening, eliminating the need for the "curl" tests in
the setup.sh scripts.
Also removed version numbers from some yml files.
Change-Id: Idd9ff81b3ab4a78926b644f22360c9222afe82d5
Issue-ID: POLICY-1829
Signed-off-by: Jim Hahn <jrh3@att.com>
diff --git a/plans/policy/apex-pdp/setup.sh b/plans/policy/apex-pdp/setup.sh
index 9639646..1e61726 100644
--- a/plans/policy/apex-pdp/setup.sh
+++ b/plans/policy/apex-pdp/setup.sh
@@ -3,6 +3,7 @@
# Copyright (C) 2018 Ericsson. All rights reserved.
#
# Modifications copyright (c) 2019 Nordix Foundation.
+# Modifications Copyright (C) 2019 AT&T Intellectual Property.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -62,7 +63,15 @@
# Adding this waiting container due to race condition between pap and mariadb
docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml run --rm start_dependencies
-docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml up -d
+
+#Configure the database
+docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml run --rm start_all
+
+unset http_proxy https_proxy
POLICY_API_IP=`get-instance-ip.sh policy-api`
POLICY_PAP_IP=`get-instance-ip.sh policy-pap`
@@ -76,24 +85,4 @@
echo APEX IP IS ${APEX_IP}
echo DMAAP_IP IS ${DMAAP_IP}
-# Wait for initialization
-for i in {1..10}; do
- curl -sS ${MARIADB_IP}:3306 && break
- echo sleep $i
- sleep $i
-done
-for i in {1..10}; do
- curl -sS ${APEX_IP}:6969 && break
- echo sleep $i
- sleep $i
-done
-for i in {1..10}; do
- curl -sS ${DMAAP_IP}:3904 && break
- echo sleep $i
- sleep $i
-done
-#Configure the database
-docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
-
ROBOT_VARIABLES="-v APEX_IP:${APEX_IP} -v POLICY_API_IP:${POLICY_API_IP} -v POLICY_PAP_IP:${POLICY_PAP_IP}"
diff --git a/plans/policy/api/setup.sh b/plans/policy/api/setup.sh
index a29254a..6168085 100644
--- a/plans/policy/api/setup.sh
+++ b/plans/policy/api/setup.sh
@@ -24,8 +24,15 @@
# Adding this waiting container to avoid race condition between api and mariadb containers.
docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml run --rm start_dependencies
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml up -d
-sleep 3
+
+#Configure the database
+docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml run --rm start_all
+
+unset http_proxy https_proxy
POLICY_API_IP=`get-instance-ip.sh policy-api`
MARIADB_IP=`get-instance-ip.sh mariadb`
@@ -33,20 +40,4 @@
echo API IP IS ${POLICY_API_IP}
echo MARIADB IP IS ${MARIADB_IP}
-# Wait for initialization
-for i in {1..10}; do
- curl -sS ${MARIADB_IP}:3306 && break
- echo sleep $i
- sleep $i
-done
-for i in {1..10}; do
- curl -sS ${POLICY_API_IP}:6969 && break
- echo sleep $i
- sleep $i
-done
-
-#Configure the database
-docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
-
ROBOT_VARIABLES="-v POLICY_API_IP:${POLICY_API_IP}"
diff --git a/plans/policy/api/teardown.sh b/plans/policy/api/teardown.sh
index fc82dfa..0572e03 100755
--- a/plans/policy/api/teardown.sh
+++ b/plans/policy/api/teardown.sh
@@ -19,4 +19,3 @@
kill-instance.sh policy-api
kill-instance.sh mariadb
-kill-instance.sh policy-wait
diff --git a/plans/policy/pap/setup.sh b/plans/policy/pap/setup.sh
index d1ba20c..8bd3f0a 100644
--- a/plans/policy/pap/setup.sh
+++ b/plans/policy/pap/setup.sh
@@ -1,6 +1,7 @@
#!/bin/bash
# ============LICENSE_START=======================================================
# Copyright (C) 2019 Nordix Foundation.
+# Modifications Copyright (C) 2019 AT&T Intellectual Property.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -24,11 +25,17 @@
# Adding this waiting container due to race condition between pap and mariadb
docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml run --rm start_dependencies
-docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml up -d
-sleep 3
+
+#Configure the database
+docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml run --rm start_all
unset http_proxy https_proxy
+
POLICY_PAP_IP=`get-instance-ip.sh policy-pap`
POLICY_API_IP=`get-instance-ip.sh policy-api`
MARIADB_IP=`get-instance-ip.sh mariadb`
@@ -36,26 +43,6 @@
echo PAP IP IS ${POLICY_PAP_IP}
echo API IP IS ${POLICY_API_IP}
echo MARIADB IP IS ${MARIADB_IP}
-# Wait for initialization
-for i in {1..10}; do
- curl -sS ${MARIADB_IP}:3306 && break
- echo sleep $i
- sleep $i
-done
-for i in {1..10}; do
- curl -sS ${POLICY_PAP_IP}:6969 && break
- echo sleep $i
- sleep $i
-done
-for i in {1..10}; do
- curl -sS ${POLICY_API_IP}:6969 && break
- echo sleep $i
- sleep $i
-done
-
-#Configure the database
-docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
#Add policy type and policy to the database via the Policy Api
AUTH="healthcheck:zb!XztG34"
diff --git a/plans/policy/pap/teardown.sh b/plans/policy/pap/teardown.sh
index f05d3af..c2d7e21 100644
--- a/plans/policy/pap/teardown.sh
+++ b/plans/policy/pap/teardown.sh
@@ -1,6 +1,7 @@
#!/bin/bash
# ============LICENSE_START=======================================================
# Copyright (C) 2019 Nordix Foundation.
+# Modifications Copyright (C) 2019 AT&T Intellectual Property.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -20,4 +21,3 @@
kill-instance.sh policy-pap
kill-instance.sh policy-api
kill-instance.sh mariadb
-kill-instance.sh policy-wait
diff --git a/plans/policy/xacml-pdp/setup.sh b/plans/policy/xacml-pdp/setup.sh
index 96ae471..24fc2d7 100644
--- a/plans/policy/xacml-pdp/setup.sh
+++ b/plans/policy/xacml-pdp/setup.sh
@@ -60,7 +60,13 @@
# Adding this waiting container due to race condition between pap and mariadb
docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_dependencies
-docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml up -d
+
+#Configure the database
+docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
+docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
+
+# now bring everything else up
+docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_all
unset http_proxy https_proxy
@@ -77,25 +83,4 @@
echo MARIADB IP IS ${MARIADB_IP}
echo DMAAP_IP IS ${DMAAP_IP}
-# Wait for initialization
-for i in {1..10}; do
- curl -sS ${MARIADB_IP}:3306 && break
- echo sleep $i
- sleep $i
-done
-for i in {1..10}; do
- curl -sS ${POLICY_PDPX_IP}:6969 && break
- echo sleep $i
- sleep $i
-done
-for i in {1..10}; do
- curl -sS ${DMAAP_IP}:3904 && break
- echo sleep $i
- sleep $i
-done
-
-#Configure the database
-docker exec -it mariadb chmod +x /docker-entrypoint-initdb.d/db.sh
-docker exec -it mariadb /docker-entrypoint-initdb.d/db.sh
-
ROBOT_VARIABLES="-v POLICY_PDPX_IP:${POLICY_PDPX_IP} -v POLICY_API_IP:${POLICY_API_IP} -v POLICY_PAP_IP:${POLICY_PAP_IP}"
diff --git a/scripts/policy/docker-compose-api.yml b/scripts/policy/docker-compose-api.yml
index 452297f..5cf5a27 100644
--- a/scripts/policy/docker-compose-api.yml
+++ b/scripts/policy/docker-compose-api.yml
@@ -36,8 +36,22 @@
- "6969:6969"
start_dependencies:
image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
container_name: policy-wait
depends_on:
- mariadb
hostname: policy-wait
command: mariadb:3306
+ start_all:
+ image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
+ container_name: policy-wait-all
+ depends_on:
+ - mariadb
+ - api
+ hostname: policy-wait-all
+ command:
+ mariadb:3306
+ api:6969
diff --git a/scripts/policy/docker-compose-pap.yml b/scripts/policy/docker-compose-pap.yml
index 115f884..383e1bc 100644
--- a/scripts/policy/docker-compose-pap.yml
+++ b/scripts/policy/docker-compose-pap.yml
@@ -27,10 +27,10 @@
ports:
- "3306:3306"
pap:
- image: nexus3.onap.org:10001/onap/policy-pap:2.0.0-SNAPSHOT-latest
+ image: nexus3.onap.org:10001/onap/policy-pap
container_name: policy-pap
depends_on:
- - "mariadb"
+ - mariadb
hostname: policy-pap
ports:
- "6969:6969"
@@ -44,8 +44,24 @@
- "9969:6969"
start_dependencies:
image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
container_name: policy-wait
depends_on:
- mariadb
hostname: policy-wait
command: mariadb:3306
+ start_all:
+ image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
+ container_name: policy-wait-all
+ depends_on:
+ - mariadb
+ - pap
+ - api
+ hostname: policy-wait-all
+ command:
+ mariadb:3306
+ pap:6969
+ api:6969
diff --git a/scripts/policy/policy-apex-pdp/docker-compose-apex.yml b/scripts/policy/policy-apex-pdp/docker-compose-apex.yml
index 9039b89..e836a58 100644
--- a/scripts/policy/policy-apex-pdp/docker-compose-apex.yml
+++ b/scripts/policy/policy-apex-pdp/docker-compose-apex.yml
@@ -1,4 +1,5 @@
# Copyright (C) 2019 Nordix Foundation.
+# Modifications Copyright (C) 2019 AT&T Intellectual Property.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -33,7 +34,7 @@
ports:
- "3904:3904"
pap:
- image: nexus3.onap.org:10001/onap/policy-pap:2.0.0-SNAPSHOT-latest
+ image: nexus3.onap.org:10001/onap/policy-pap
container_name: policy-pap
depends_on:
- mariadb
@@ -48,13 +49,12 @@
- mariadb
hostname: policy-api
apex:
- image: nexus3.onap.org:10001/onap/policy-apex-pdp:2.1-SNAPSHOT-latest
+ image: nexus3.onap.org:10001/onap/policy-apex-pdp
container_name: policy-apex-pdp
depends_on:
- mariadb
- dmaap
- pap
- - api
hostname: policy-apex-pdp
command: ['/opt/app/policy/apex-pdp/bin/apexOnapPf.sh', '-c', '/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json', '-p', '/opt/app/policy/apex-pdp/etc/onappf/config/topic.properties']
volumes:
@@ -64,11 +64,31 @@
- "23324:23324"
start_dependencies:
image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
container_name: policy-wait
depends_on:
- mariadb
- dmaap
hostname: policy-wait
command:
- - mariadb:3306
- - dmaap:3904
+ mariadb:3306
+ dmaap:3904
+ start_all:
+ image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
+ container_name: policy-wait-all
+ depends_on:
+ - mariadb
+ - dmaap
+ - api
+ - pap
+ - apex
+ hostname: policy-wait-all
+ command:
+ mariadb:3306
+ dmaap:3904
+ api:6969
+ pap:6969
+ apex:6969
diff --git a/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml b/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml
index 62e0ce2..96a4b12 100644
--- a/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml
+++ b/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml
@@ -37,7 +37,7 @@
ports:
- "3904:3904"
pap:
- image: nexus3.onap.org:10001/onap/policy-pap:2.0.0-SNAPSHOT-latest
+ image: nexus3.onap.org:10001/onap/policy-pap
container_name: policy-pap
depends_on:
- mariadb
@@ -50,23 +50,42 @@
- mariadb
hostname: policy-api
xacml-pdp:
- image: nexus3.onap.org:10001/onap/policy-xacml-pdp:2.0.0-SNAPSHOT-latest
+ image: nexus3.onap.org:10001/onap/policy-xacml-pdp
container_name: policy-xacml-pdp
depends_on:
- mariadb
- message-router
- pap
- - api
hostname: policy-xacml-pdp
ports:
- "6969:6969"
start_dependencies:
image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
container_name: policy-wait
depends_on:
- mariadb
- message-router
hostname: policy-wait
command:
- - mariadb:3306
- - message-router:3904
+ mariadb:3306
+ message-router:3904
+ start_all:
+ image: dadarek/wait-for-dependencies
+ environment:
+ TIMEOUT_LENGTH: 60
+ container_name: policy-wait-all
+ depends_on:
+ - mariadb
+ - message-router
+ - api
+ - pap
+ - xacml-pdp
+ hostname: policy-wait-all
+ command:
+ mariadb:3306
+ message-router:3904
+ api:6969
+ pap:6969
+ xacml-pdp:6969