From 5ea80956912a55c6e6af97d605f22f9f45b55017 Mon Sep 17 00:00:00 2001 From: Zakir Dzhamaliddinov Date: Fri, 30 Aug 2024 15:22:58 +1200 Subject: [PATCH] Maintenance mode: check if domain is updated via API --- lib/core/maintenance_mode.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/core/maintenance_mode.rb b/lib/core/maintenance_mode.rb index dfc476ac..4cff6c06 100644 --- a/lib/core/maintenance_mode.rb +++ b/lib/core/maintenance_mode.rb @@ -84,9 +84,13 @@ def start_or_stop_maintenance_workload(action) def switch_domain_workload(to:) step("Switching workload for domain '#{domain_data['name']}' to '#{to}'") do cp.set_domain_workload(domain_data, to) + end + + step("Waiting for changes to take effect", retry_on_failure: true, wait: 10, max_retry_count: 3) do + refetched_domain_data = cp.fetch_domain(domain_data["name"]) + raise "Can't find domain" if refetched_domain_data.nil? - # Give it a bit of time for the domain to update - Kernel.sleep(30) + cp.domain_workload_matches?(refetched_domain_data, to) end progress.puts