diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2019-09-20 16:14:19 +0200 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2019-09-23 09:10:07 +0000 |
commit | 5a0706ddbdc12acebc7480cf8a6db79d8d0bdf22 (patch) | |
tree | b5633072b4c1e27df8f3989a57b22c65b94f402a | |
parent | fa471c680c6918e93627df334b5cbde8c591345c (diff) | |
download | ironic-5a0706ddbdc12acebc7480cf8a6db79d8d0bdf22.tar.gz |
devstack: wait for conductor to start and register itself
Change-Id: I5e026754ed5aa6fb0ffaff086cda0bfa0aca2211
(cherry picked from commit 3f3508f0d02eef0487cd898744213ab240e45dee)
-rw-r--r-- | devstack/lib/ironic | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/devstack/lib/ironic b/devstack/lib/ironic index 643c2f749..95ce8137e 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -1449,7 +1449,23 @@ function start_ironic_api { # Starts Ironic conductor. function start_ironic_conductor { run_process ir-cond "$IRONIC_BIN_DIR/ironic-conductor --config-file=$IRONIC_CONF_FILE" - # TODO(romcheg): Find a way to check whether the conductor has started. + + # Wait up to 30 seconds for ironic-conductor to start and register itself + local attempt + local max_attempts=7 + for attempt in $(seq 1 $max_attempts); do + if openstack baremetal driver list | grep -q $IRONIC_DEPLOY_DRIVER; then + break + fi + + if [ $attempt -eq $max_attempts ]; then + die $LINENO "Driver $IRONIC_DEPLOY_DRIVER did not appear in the driver list" + fi + + echo "Still waiting for ironic-conductor to start, current state:" + openstack baremetal driver list + sleep 5 + done } # Starts VirtualPDU |