Skip to content
Snippets Groups Projects
Commit b0df83e4 authored by istmxrein's avatar istmxrein
Browse files

fix preparation state

parent b965df5d
No related branches found
No related tags found
No related merge requests found
......@@ -10,9 +10,7 @@ def main() -> None:
print("Delete openstack instances", flush=True)
try:
conn = openstack.connect()
for server in conn.compute.servers(name=env.VM_NAME):
volumes = server.attached_volumes
for i in range(5):
conn.delete_server(server.id, delete_ips=True)
time.sleep(5)
......@@ -20,24 +18,10 @@ def main() -> None:
if state is None:
print(f'Delete server {server.id} successful', flush=True)
break
for volume in volumes:
start_time = time.time()
while time.time() - start_time < 300: # Keep trying for up to 5 minutes
try:
if conn.block_storage.find_volume(volume.id):
conn.block_storage.delete_volume(volume.id)
print(f"Successfully deleted volume with ID {volume.id}", flush=True)
break
except openstack.exceptions.SDKException as e:
print(f"Error deleting volume with ID {volume.id}: {e}", flush=True)
print("Retrying in 10 seconds...", flush=True)
time.sleep(10)
if os.path.exists(env.PRIVATE_KEY_PATH):
os.remove(env.PRIVATE_KEY_PATH)
conn.delete_keypair(env.KEY_PAIR_NAME)
conn.close()
except Exception as e:
traceback.print_exc()
......
......@@ -23,25 +23,21 @@ def provision_server(
image = conn.compute.find_image(env.BUILDER_IMAGE)
flavor = conn.compute.find_flavor(env.FLAVOR)
network = conn.network.find_network(env.NETWORK)
try:
server = conn.create_server(
name=env.VM_NAME,
flavor=flavor.id,
image=image.id,
boot_from_volume=True,
terminate_volume=True,
volume_size=env.VOLUME_SIZE,
key_name=env.KEY_PAIR_NAME,
security_groups=[group for group in env.SECURITY_GROUPS.split()],
network=network.id
)
except openstack.exceptions.SDKException as e:
print(e, flush=True)
except Exception as e:
print(e, flush=True)
server = conn.create_server(
name=env.VM_NAME,
flavor=flavor.id,
image=image.id,
boot_from_volume=True,
terminate_volume=True,
volume_size=env.VOLUME_SIZE,
key_name=env.KEY_PAIR_NAME,
security_groups=[group for group in env.SECURITY_GROUPS.split()],
network=network.id
)
print(f'Waiting for server to come up...')
server = conn.wait_for_server(server, timeout=int(env.SERVER_CREATION_TIMEOUT))
return server
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment