diff --git a/cleanup.py b/cleanup.py index e76f89e230ddae378f9b29305e37a5fcd6326f7a..4a20c797361fea46e4109f9441d3b0272c7f140e 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 8b713404b4d2550c720a44d426abdbe3bc01863f..2d04f95a10f036e06c9f3ff272ba21befb90acc8 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