From b0df83e424364b0d9c34b7efa9c16bb828b52c97 Mon Sep 17 00:00:00 2001 From: istmxrein <maximilian.reinheimer@stud.h-da.de> Date: Tue, 2 May 2023 13:25:22 +0200 Subject: [PATCH] fix preparation state --- cleanup.py | 16 ---------------- prepare.py | 28 ++++++++++++---------------- 2 files changed, 12 insertions(+), 32 deletions(-) diff --git a/cleanup.py b/cleanup.py index e76f89e..4a20c79 100644 --- a/cleanup.py +++ b/cleanup.py @@ -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() diff --git a/prepare.py b/prepare.py index 8b71340..2d04f95 100644 --- a/prepare.py +++ b/prepare.py @@ -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 -- GitLab