From 370dd7f29cda5727ac0914ca90cadf45fcf51920 Mon Sep 17 00:00:00 2001 From: eding Date: Sun, 19 Jul 2026 23:50:06 +0200 Subject: [PATCH] fix: preserve source talos iso for rebakes --- terraform/scripts/stage_talos_image.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/terraform/scripts/stage_talos_image.py b/terraform/scripts/stage_talos_image.py index 926d042..93b3b57 100644 --- a/terraform/scripts/stage_talos_image.py +++ b/terraform/scripts/stage_talos_image.py @@ -31,11 +31,16 @@ def api_request(base_url, token, method, path, data=None): def ensure_image(base_url, token, node, node_address, storage, image_url, filename, network_config_path=None): content_path = f"/api2/json/nodes/{node}/storage/{storage}/content" response = api_request(base_url, token, "GET", content_path) - for item in response.get("data", []): - if item.get("volid", "").endswith(filename): - return filename, False - source_filename = filename + if network_config_path: + if any(item.get("volid", "").endswith(filename) for item in response.get("data", [])): + return filename, False + source_filename = f"source-{filename}" + else: + for item in response.get("data", []): + if item.get("volid", "").endswith(filename): + return filename, False + source_filename = filename response = api_request(base_url, token, "GET", content_path) source_present = any(item.get("volid", "").endswith(source_filename) for item in response.get("data", [])) @@ -47,7 +52,7 @@ def ensure_image(base_url, token, node, node_address, storage, image_url, filena "url": image_url, }) wait_for_task(base_url, token, node, task.get("data")) - wait_for_storage_content(base_url, token, node, storage, filename) + wait_for_storage_content(base_url, token, node, storage, source_filename) if network_config_path: build_custom_iso(base_url, token, node_address, storage, source_filename, filename, network_config_path)