diff --git a/docker/base/kolla-common.sh b/docker/base/kolla-common.sh
index 1a6b0c815902d5760456847de58defc91c5cd8a2..8c2ef5ec1c8fc6f0cb40f0597ceac9d62db20a7b 100644
--- a/docker/base/kolla-common.sh
+++ b/docker/base/kolla-common.sh
@@ -49,7 +49,7 @@ wait_for() {
 
     if [ -z "$loops" -o -z "$sleeptime" -o -z "$command" ]; then
         echo "wait_for is missing a required parameter"
-        return 1
+        exit 1
     fi
 
     local i=0
diff --git a/docker/glance/glance-api/start.sh b/docker/glance/glance-api/start.sh
index a049b2841b8b4b5c74c734af6eaf1f0e74b3fcbd..4de0ef05e4735ed2d00b49a3a155b28cdf3f8b55 100755
--- a/docker/glance/glance-api/start.sh
+++ b/docker/glance/glance-api/start.sh
@@ -11,11 +11,7 @@ check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
                     ADMIN_TENANT_NAME GLANCE_API_SERVICE_HOST \
                     PUBLIC_IP
 
-wait_for 30 1 keystone \
-    --os-auth-url=http://${KEYSTONE_PUBLIC_SERVICE_HOST}:35357/v2.0 \
-    --os-username=admin --os-tenant-name=${ADMIN_TENANT_NAME} \
-    --os-password=${KEYSTONE_ADMIN_PASSWORD} endpoint-list
-fail_unless_os_service_running keystone
+wait_for 30 1 check_for_os_service_running keystone
 
 export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
 export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0"
diff --git a/docker/glance/glance-registry/start.sh b/docker/glance/glance-registry/start.sh
index 9a6271afe5bbc8da7cf87d2eb03d10749d0098f0..2337727e8bdb692b084e168d60541d1e0f23c1c6 100755
--- a/docker/glance/glance-registry/start.sh
+++ b/docker/glance/glance-registry/start.sh
@@ -7,8 +7,7 @@ set -e
 
 check_required_vars GLANCE_DB_NAME GLANCE_DB_USER GLANCE_DB_PASSWORD
 # lets wait for the DB to be available
-wait_for 25 1 mysql -h ${MARIADB_SERVICE_HOST} -u root -p"${DB_ROOT_PASSWORD}" -e 'status;'
-fail_unless_db
+wait_for 25 1 check_for_db
 
 mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
 CREATE DATABASE IF NOT EXISTS ${GLANCE_DB_NAME} DEFAULT CHARACTER SET utf8;