Merge "Adding local dependencies support"
This commit is contained in:
commit
53b34cccd9
|
@ -110,7 +110,7 @@ def create_network_topology(meta_info, variables):
|
||||||
|
|
||||||
def etcd_path(*path):
|
def etcd_path(*path):
|
||||||
namespace = VARIABLES.get('namespace', '')
|
namespace = VARIABLES.get('namespace', '')
|
||||||
return os.path.join('/ccp', namespace, 'status', 'global', *path)
|
return os.path.join('/ccp', namespace, 'status', *path)
|
||||||
|
|
||||||
|
|
||||||
def set_status_done(service_name):
|
def set_status_done(service_name):
|
||||||
|
@ -124,24 +124,28 @@ def set_status_ready(service_name, ttl=None):
|
||||||
@retry
|
@retry
|
||||||
def _set_status(service_name, status, ttl=None):
|
def _set_status(service_name, status, ttl=None):
|
||||||
etcd_client = get_etcd_client()
|
etcd_client = get_etcd_client()
|
||||||
key = etcd_path(service_name, status)
|
for dep_type in ['global', VARIABLES['node_name']]:
|
||||||
etcd_client.set(key, "1", ttl=ttl)
|
key = etcd_path(dep_type, service_name, status)
|
||||||
LOG.info('Status for "%s" was set to "%s"', service_name, status)
|
etcd_client.set(key, "1", ttl=ttl)
|
||||||
|
LOG.info('Status for "%s" was set to "%s"',
|
||||||
|
os.path.join(dep_type, service_name), status)
|
||||||
|
|
||||||
|
|
||||||
def check_is_done(service_name):
|
def check_is_done(dep):
|
||||||
return _check_status(service_name, "done")
|
return _check_status(dep, "done")
|
||||||
|
|
||||||
|
|
||||||
def check_is_ready(service_name, etcd_client=None):
|
def check_is_ready(dep, etcd_client=None):
|
||||||
return _check_status(service_name, "ready", etcd_client)
|
return _check_status(dep, "ready", etcd_client)
|
||||||
|
|
||||||
|
|
||||||
@retry
|
@retry
|
||||||
def _check_status(service_name, status, etcd_client=None):
|
def _check_status(dep, status, etcd_client=None):
|
||||||
if not etcd_client:
|
if not etcd_client:
|
||||||
etcd_client = get_etcd_client()
|
etcd_client = get_etcd_client()
|
||||||
key = etcd_path(service_name, status)
|
dep_name, _, dep_type = dep.partition(":")
|
||||||
|
dep_type = VARIABLES['node_name'] if dep_type == 'local' else 'global'
|
||||||
|
key = etcd_path(dep_type, dep_name, status)
|
||||||
return key in etcd_client
|
return key in etcd_client
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue