Ensure cm-api is ready before start cm-alarm

The patch ensure that ceilometer-api is ready before
starting the ceilometer-alarm-evaluator service.

This ensure that ceilometer-alarm-evaluator doesn't log a error message
on startup due to not yet available ceilometer-api.

Closes bug: #1243249

Change-Id: Icff3e972ec485f26c014071f68079593a14b7240
diff --git a/lib/ceilometer b/lib/ceilometer
index cd4c4d8..06f215e 100644
--- a/lib/ceilometer
+++ b/lib/ceilometer
@@ -138,6 +138,12 @@
     screen_it ceilometer-acentral "cd ; ceilometer-agent-central --config-file $CEILOMETER_CONF"
     screen_it ceilometer-collector "cd ; ceilometer-collector --config-file $CEILOMETER_CONF"
     screen_it ceilometer-api "cd ; ceilometer-api -d -v --log-dir=$CEILOMETER_API_LOG_DIR --config-file $CEILOMETER_CONF"
+
+    echo "Waiting for ceilometer-api to start..."
+    if ! timeout $SERVICE_TIMEOUT sh -c "while ! curl --noproxy '*' -s http://localhost:8777/v2/ >/dev/null; do sleep 1; done"; then
+        die $LINENO "ceilometer-api did not start"
+    fi
+
     screen_it ceilometer-alarm-notifier "cd ; ceilometer-alarm-notifier --config-file $CEILOMETER_CONF"
     screen_it ceilometer-alarm-evaluator "cd ; ceilometer-alarm-evaluator --config-file $CEILOMETER_CONF"
 }