Merge pull request #2450 from ryanpetrello/iso-deprovision-fix

don't call rabbitmqctl forget_cluster_node for isolated instances

Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
This commit is contained in:
softwarefactory-project-zuul[bot]
2018-10-16 14:10:35 +00:00
committed by GitHub

View File

@@ -41,14 +41,18 @@ class Command(BaseCommand):
with advisory_lock('instance_registration_%s' % hostname): with advisory_lock('instance_registration_%s' % hostname):
instance = Instance.objects.filter(hostname=hostname) instance = Instance.objects.filter(hostname=hostname)
if instance.exists(): if instance.exists():
isolated = instance.first().is_isolated()
instance.delete() instance.delete()
print("Instance Removed") print("Instance Removed")
result = subprocess.Popen("rabbitmqctl forget_cluster_node rabbitmq@{}".format(hostname), shell=True).wait() if isolated:
if result != 0:
print("Node deprovisioning may have failed when attempting to "
"remove the RabbitMQ instance {} from the cluster".format(hostname))
else:
print('Successfully deprovisioned {}'.format(hostname)) print('Successfully deprovisioned {}'.format(hostname))
else:
result = subprocess.Popen("rabbitmqctl forget_cluster_node rabbitmq@{}".format(hostname), shell=True).wait()
if result != 0:
print("Node deprovisioning may have failed when attempting to "
"remove the RabbitMQ instance {} from the cluster".format(hostname))
else:
print('Successfully deprovisioned {}'.format(hostname))
print('(changed: True)') print('(changed: True)')
else: else:
print('No instance found matching name {}'.format(hostname)) print('No instance found matching name {}'.format(hostname))