Run DB script before starting other containers 17/89417/1
authorJim Hahn <jrh3@att.com>
Mon, 3 Jun 2019 19:00:08 +0000 (15:00 -0400)
committerBilal A <bilal@research.att.com>
Wed, 5 Jun 2019 17:37:47 +0000 (17:37 +0000)
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>
plans/policy/apex-pdp/setup.sh
plans/policy/api/setup.sh
plans/policy/api/teardown.sh
plans/policy/pap/setup.sh
plans/policy/pap/teardown.sh
plans/policy/xacml-pdp/setup.sh
scripts/policy/docker-compose-api.yml
scripts/policy/docker-compose-pap.yml
scripts/policy/policy-apex-pdp/docker-compose-apex.yml
scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml

index 9639646..1e61726 100644 (file)
@@ -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}"
index a29254a..6168085 100644 (file)
@@ -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}"
index fc82dfa..0572e03 100755 (executable)
@@ -19,4 +19,3 @@
 
 kill-instance.sh policy-api
 kill-instance.sh mariadb
-kill-instance.sh policy-wait
index d1ba20c..8bd3f0a 100644 (file)
@@ -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"
index f05d3af..c2d7e21 100644 (file)
@@ -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
index 96ae471..24fc2d7 100644 (file)
@@ -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}"
index 452297f..5cf5a27 100644 (file)
@@ -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
index 115f884..383e1bc 100644 (file)
@@ -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
index 9039b89..e836a58 100644 (file)
@@ -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
index 62e0ce2..96a4b12 100644 (file)
@@ -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