From e57042c32af6b290186f8f7dce25e5968056c8ff Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Mon, 3 Jun 2019 15:00:08 -0400 Subject: 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 --- plans/policy/apex-pdp/setup.sh | 31 +++++++--------------- plans/policy/api/setup.sh | 27 +++++++------------ plans/policy/api/teardown.sh | 1 - plans/policy/pap/setup.sh | 31 +++++++--------------- plans/policy/pap/teardown.sh | 2 +- plans/policy/xacml-pdp/setup.sh | 29 +++++--------------- scripts/policy/docker-compose-api.yml | 14 ++++++++++ scripts/policy/docker-compose-pap.yml | 20 ++++++++++++-- .../policy/policy-apex-pdp/docker-compose-apex.yml | 30 +++++++++++++++++---- .../policy-xacml-pdp/docker-compose-pdpx.yml | 29 ++++++++++++++++---- 10 files changed, 117 insertions(+), 97 deletions(-) diff --git a/plans/policy/apex-pdp/setup.sh b/plans/policy/apex-pdp/setup.sh index 96396462..1e61726b 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 @@ sleep 3 # 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 API IP IS ${POLICY_API_IP} 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 a29254a5..6168085e 100644 --- a/plans/policy/api/setup.sh +++ b/plans/policy/api/setup.sh @@ -24,8 +24,15 @@ pip install -U docker==2.7.0 # 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 @@ MARIADB_IP=`get-instance-ip.sh mariadb` 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 fc82dfa7..0572e034 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 d1ba20c2..8bd3f0ac 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 @@ pip install -U docker==2.7.0 # 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 @@ MARIADB_IP=`get-instance-ip.sh mariadb` 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 f05d3af9..c2d7e214 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 96ae4715..24fc2d7c 100644 --- a/plans/policy/xacml-pdp/setup.sh +++ b/plans/policy/xacml-pdp/setup.sh @@ -60,7 +60,13 @@ sleep 3 # 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 PAP IP IS ${POLICY_PAP_IP} 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 452297fb..5cf5a27c 100644 --- a/scripts/policy/docker-compose-api.yml +++ b/scripts/policy/docker-compose-api.yml @@ -36,8 +36,22 @@ services: - "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 115f8840..383e1bc8 100644 --- a/scripts/policy/docker-compose-pap.yml +++ b/scripts/policy/docker-compose-pap.yml @@ -27,10 +27,10 @@ services: 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 @@ services: - "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 9039b894..e836a589 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 @@ services: 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 @@ services: - 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 @@ services: - "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 62e0ce21..96a4b122 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 @@ services: 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 @@ services: - 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 -- cgit 1.2.3-korg