Add waiting for containers to set up

Signed-off-by: Aleksandra Maciaga <aleksandra.maciaga@nokia.com>
Issue-ID: AAF-997
Change-Id: I049f7d2997f74b22dd53f47bc925dcfdb1df3b10
diff --git a/plans/aaf/certservice/docker-compose.yml b/plans/aaf/certservice/docker-compose.yml
index 384158a..ae7ee87 100644
--- a/plans/aaf/certservice/docker-compose.yml
+++ b/plans/aaf/certservice/docker-compose.yml
@@ -11,12 +11,11 @@
     volumes:
       - $SCRIPTS_PATH:/opt/primekey/scripts
     command: bash -c "
-      ./scripts/ejbca-configuration.sh &
       /opt/primekey/bin/start.sh
       "
     healthcheck:
       test: ["CMD-SHELL", "curl -kI https://localhost:8443/ejbca/publicweb/healthcheck/ejbcahealth"]
-      interval: 10s
+      interval: 20s
       timeout: 3s
       retries: 9
     networks:
diff --git a/plans/aaf/certservice/scripts/ejbca-configuration.sh b/plans/aaf/certservice/scripts/ejbca-configuration.sh
index 7ec1fa3..77f5c55 100755
--- a/plans/aaf/certservice/scripts/ejbca-configuration.sh
+++ b/plans/aaf/certservice/scripts/ejbca-configuration.sh
@@ -1,9 +1,5 @@
 #!/bin/bash
 
-waitForEjbcaStartUp() {
-    sleep $1
-}
-
 configureEjbca() {
     ejbca.sh config cmp addalias --alias cmpRA
     ejbca.sh config cmp updatealias --alias cmpRA --key operationmode --value ra
@@ -20,5 +16,4 @@
     ejbca.sh ca getcacert --caname ManagementCA -f /dev/stdout > cacert.pem
 }
 
-waitForEjbcaStartUp 45
 configureEjbca
diff --git a/plans/aaf/certservice/setup.sh b/plans/aaf/certservice/setup.sh
index dde516a..a89a162 100644
--- a/plans/aaf/certservice/setup.sh
+++ b/plans/aaf/certservice/setup.sh
@@ -53,9 +53,23 @@
 
 docker-compose up -d
 
-AAFCERT_IP=`get-instance-ip.sh aafcert`
-export AAFCERT_IP=${AAFCERT_IP}
-
+AAFCERT_IP='none'
 # Wait container ready
-sleep 15
+for i in {1..9}
+do
+   AAFCERT_IP=`get-instance-ip.sh aafcert`
+   RESP_CODE=$(curl -I -s -o /dev/null -w "%{http_code}"  http://${AAFCERT_IP}:8080/actuator/health)
+   if [[ "$RESP_CODE" == '200' ]]; then
+       echo 'AAF Cert Service is ready'
+       export AAFCERT_IP=${AAFCERT_IP}
+       docker exec aafcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh
+       break
+   fi
+   echo 'Waiting for AAF Cert Service to start up...'
+   sleep 30s
+done
 
+if [[ $AAFCERT_IP == 'none' ] || [ $AAFCERT_IP == '' ]]; then
+    echo "AAF Cert Service is not ready!"
+    exit 1 # Return error code
+fi
diff --git a/plans/aaf/certservice/teardown.sh b/plans/aaf/certservice/teardown.sh
index 3f10eae..ab22759 100644
--- a/plans/aaf/certservice/teardown.sh
+++ b/plans/aaf/certservice/teardown.sh
@@ -15,5 +15,7 @@
 # limitations under the License.
 #
 
+docker-compose down
+
 kill-instance.sh aafcert
 kill-instance.sh aafcert-ejbca
\ No newline at end of file