Fix cleanup of the leader record
Change-Id: I53ed458729ea2f492242d8e253b388756132306f
This commit is contained in:
parent
74b76de1fa
commit
2da033eee5
@ -216,7 +216,7 @@ def run_mysqld(available_nodes, donors_list, etcd_client, lock):
|
||||
etcd_deregister_in_path(etcd_client, 'queue')
|
||||
etcd_deregister_in_path(etcd_client, 'nodes')
|
||||
etcd_deregister_in_path(etcd_client, 'seqno')
|
||||
etcd_deregister_in_path(etcd_client, 'leader', prevValue=IPADDR)
|
||||
etcd_delete_if_exists(etcd_client, 'leader', IPADDR)
|
||||
release_lock(lock)
|
||||
mysqld_proc.send_signal(signum)
|
||||
|
||||
@ -315,13 +315,22 @@ def etcd_set_seqno(etcd_client, ttl):
|
||||
_etcd_set(etcd_client, key, seqno, ttl)
|
||||
|
||||
|
||||
def etcd_deregister_in_path(etcd_client, path, prevValue=False):
|
||||
def etcd_delete_if_exists(etcd_client, path, prevValue):
|
||||
|
||||
key = os.path.join(ETCD_PATH, path)
|
||||
try:
|
||||
etcd_client.delete(key, prevValue=prevValue)
|
||||
LOG.warning("Deleted key %s, with previous value '%s'", key, prevValue)
|
||||
except etcd.EtcdKeyNotFound:
|
||||
LOG.warning("Key %s not exist", key)
|
||||
except etcd.EtcdCompareFailed:
|
||||
LOG.debug("Previous of the '%s' is not the '%s'", key, prevValue)
|
||||
|
||||
|
||||
def etcd_deregister_in_path(etcd_client, path):
|
||||
|
||||
key = os.path.join(ETCD_PATH, path, IPADDR)
|
||||
try:
|
||||
if prevValue:
|
||||
etcd_client.delete(key, prevValue=prevValue)
|
||||
else:
|
||||
etcd_client.delete(key, recursive=True)
|
||||
LOG.warning("Deleted key %s", key)
|
||||
except etcd.EtcdKeyNotFound:
|
||||
@ -761,7 +770,7 @@ def main(ttl):
|
||||
etcd_deregister_in_path(etcd_client, 'queue')
|
||||
etcd_deregister_in_path(etcd_client, 'nodes')
|
||||
etcd_deregister_in_path(etcd_client, 'seqno')
|
||||
etcd_deregister_in_path(etcd_client, 'leader', prevValue=IPADDR)
|
||||
etcd_delete_if_exists(etcd_client, 'leader', IPADDR)
|
||||
release_lock(lock)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user