Clean up boot-from-volume volumes on error
When we're booting boot-from-volume servers and there are errors, we leave the root volume around. Clean up after ourselves. Change-Id: I6341cdbf21d659d043592f92ddf8ecf6be997802
This commit is contained in:
parent
99fd7d380c
commit
ecbe164bae
@ -254,6 +254,9 @@ def build_server(cloud, name, image, flavor,
|
|||||||
print("****")
|
print("****")
|
||||||
print("Server %s failed to build!" % (server.id))
|
print("Server %s failed to build!" % (server.id))
|
||||||
try:
|
try:
|
||||||
|
volumes = []
|
||||||
|
if boot_from_volume:
|
||||||
|
volumes = cloud.get_volumes(server)
|
||||||
if keep:
|
if keep:
|
||||||
print("Keeping as requested")
|
print("Keeping as requested")
|
||||||
# Write out the private SSH key we generated, as we
|
# Write out the private SSH key we generated, as we
|
||||||
@ -262,11 +265,14 @@ def build_server(cloud, name, image, flavor,
|
|||||||
key.write_private_key(key_file)
|
key.write_private_key(key_file)
|
||||||
os.chmod(key_file.name, 0o600)
|
os.chmod(key_file.name, 0o600)
|
||||||
print("Private key saved in %s" % key_file.name)
|
print("Private key saved in %s" % key_file.name)
|
||||||
print(
|
print("Run to delete:")
|
||||||
"Run to delete -> openstack server delete %s" % \
|
print(" openstack server delete %s" % (server.id))
|
||||||
(server.id))
|
for attachment in volumes:
|
||||||
|
print(" openstack volume delete %s" % (attachment.id))
|
||||||
else:
|
else:
|
||||||
cloud.delete_server(server.id, delete_ips=True)
|
cloud.delete_server(server.id, delete_ips=True)
|
||||||
|
for attachment in volumes:
|
||||||
|
cloud.delete_volume(attachment.id)
|
||||||
except Exception:
|
except Exception:
|
||||||
print("Exception encountered deleting server:")
|
print("Exception encountered deleting server:")
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user