From: Tomas Sedovic Date: Thu, 17 May 2012 14:49:15 +0000 (+0200) Subject: Allow engine and metadata server start in any order X-Git-Tag: 2014.1~1818 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=67203a54975db6294469b8fb0fcfe20105830c72;p=openstack-build%2Fheat-build.git Allow engine and metadata server start in any order When the metadata server starts first, it will wait for the engine to come up and only then registers it's hostname and port and becomes available. Signed-off-by: Tomas Sedovic --- diff --git a/bin/heat-metadata b/bin/heat-metadata index 985e0e32..c18ecadd 100755 --- a/bin/heat-metadata +++ b/bin/heat-metadata @@ -45,9 +45,15 @@ LOG = logging.getLogger('heat.metadata') def send_address_to_engine(host, port): con = context.get_admin_context() - resp = rpc.call(con, 'engine', - {'method': 'metadata_register_address', - 'args': {'url': 'http://%s:%s' % (host, port)}}) + while True: + try: + resp = rpc.call(con, 'engine', + {'method': 'metadata_register_address', + 'args': {'url': 'http://%s:%s' % (host, port)}}) + LOG.info('registered the hostname and port with the engine.') + return + except rpc.common.Timeout: + LOG.info('Could not connect to the engine, retrying...') if __name__ == '__main__':