diff --git a/prog/vm/github_runner.rb b/prog/vm/github_runner.rb index 7131abd9e..362dc2c02 100644 --- a/prog/vm/github_runner.rb +++ b/prog/vm/github_runner.rb @@ -96,6 +96,7 @@ def github_client def before_run when_destroy_set? do unless ["destroy", "wait_vm_destroy"].include?(strand.label) + register_deadline(nil, 10 * 60) hop_destroy end end @@ -216,8 +217,6 @@ def before_run end label def destroy - register_deadline(nil, 10 * 60) - decr_destroy # Waiting 404 Not Found response for get runner request diff --git a/prog/vm/nexus.rb b/prog/vm/nexus.rb index 074e2d1eb..89fb0fadf 100644 --- a/prog/vm/nexus.rb +++ b/prog/vm/nexus.rb @@ -188,6 +188,7 @@ def before_run if strand.label != "destroy" vm.active_billing_record&.finalize vm.assigned_vm_address&.active_billing_record&.finalize + register_deadline(nil, 5 * 60) hop_destroy end end @@ -305,6 +306,7 @@ def before_run label def wait when_start_after_host_reboot_set? do + register_deadline(:wait, 5 * 60) hop_start_after_host_reboot end @@ -312,8 +314,6 @@ def before_run end label def destroy - register_deadline(nil, 5 * 60) - decr_destroy vm.update(display_state: "deleting") @@ -356,8 +356,6 @@ def before_run end label def start_after_host_reboot - register_deadline(:wait, 5 * 60) - vm.update(display_state: "starting") secrets_json = JSON.generate({ diff --git a/spec/prog/vm/github_runner_spec.rb b/spec/prog/vm/github_runner_spec.rb index efdf2760e..ed27eba12 100644 --- a/spec/prog/vm/github_runner_spec.rb +++ b/spec/prog/vm/github_runner_spec.rb @@ -123,6 +123,7 @@ describe "#before_run" do it "hops to destroy when needed" do expect(nx).to receive(:when_destroy_set?).and_yield + expect(nx).to receive(:register_deadline) expect { nx.before_run }.to hop("destroy") end @@ -277,7 +278,6 @@ end it "destroys resources and hops if runner deregistered" do - expect(nx).to receive(:register_deadline) expect(nx).to receive(:decr_destroy) expect(client).to receive(:get).and_raise(Octokit::NotFound) expect(client).not_to receive(:delete) @@ -288,7 +288,6 @@ end it "does not destroy vm if it's already destroyed" do - expect(nx).to receive(:register_deadline) expect(nx).to receive(:decr_destroy) expect(client).to receive(:get).and_raise(Octokit::NotFound) expect(client).not_to receive(:delete)