diff --git a/lib/mrsk/cli/accessory.rb b/lib/mrsk/cli/accessory.rb index 6d80e115a..f597a2a63 100644 --- a/lib/mrsk/cli/accessory.rb +++ b/lib/mrsk/cli/accessory.rb @@ -1,6 +1,6 @@ class Mrsk::Cli::Accessory < Mrsk::Cli::Base desc "boot [NAME]", "Boot new accessory service on host (use NAME=all to boot all accessories)" - def boot(name) + def boot(name, login: true) mutating do if name == "all" MRSK.accessory_names.each { |accessory_name| boot(accessory_name) } @@ -10,7 +10,7 @@ def boot(name) upload(name) on(accessory.hosts) do - execute *MRSK.registry.login + execute *MRSK.registry.login if login execute *MRSK.auditor.record("Booted #{name} accessory"), verbosity: :debug execute *accessory.run end @@ -53,9 +53,13 @@ def directories(name) def reboot(name) mutating do with_accessory(name) do |accessory| + on(accessory.hosts) do + execute *MRSK.registry.login + end + stop(name) remove_container(name) - boot(name) + boot(name, login: false) end end end diff --git a/lib/mrsk/cli/traefik.rb b/lib/mrsk/cli/traefik.rb index 30fd10f32..957077898 100644 --- a/lib/mrsk/cli/traefik.rb +++ b/lib/mrsk/cli/traefik.rb @@ -1,9 +1,9 @@ class Mrsk::Cli::Traefik < Mrsk::Cli::Base desc "boot", "Boot Traefik on servers" - def boot + def boot(login: true) mutating do on(MRSK.traefik_hosts) do - execute *MRSK.registry.login + execute *MRSK.registry.login if login execute *MRSK.traefik.run, raise_on_non_zero_exit: false end end @@ -12,9 +12,13 @@ def boot desc "reboot", "Reboot Traefik on servers (stop container, remove container, start new container)" def reboot mutating do + on(MRSK.traefik_hosts) do + execute *MRSK.registry.login + end + stop remove_container - boot + boot(login: false) end end diff --git a/test/cli/accessory_test.rb b/test/cli/accessory_test.rb index 28c4977ff..4f3210bbd 100644 --- a/test/cli/accessory_test.rb +++ b/test/cli/accessory_test.rb @@ -40,9 +40,10 @@ class CliAccessoryTest < CliTestCase end test "reboot" do + Mrsk::Commands::Registry.any_instance.expects(:login) Mrsk::Cli::Accessory.any_instance.expects(:stop).with("mysql") Mrsk::Cli::Accessory.any_instance.expects(:remove_container).with("mysql") - Mrsk::Cli::Accessory.any_instance.expects(:boot).with("mysql") + Mrsk::Cli::Accessory.any_instance.expects(:boot).with("mysql", login: false) run_command("reboot", "mysql") end diff --git a/test/cli/traefik_test.rb b/test/cli/traefik_test.rb index a1f661d27..450181bb9 100644 --- a/test/cli/traefik_test.rb +++ b/test/cli/traefik_test.rb @@ -9,9 +9,10 @@ class CliTraefikTest < CliTestCase end test "reboot" do + Mrsk::Commands::Registry.any_instance.expects(:login).twice Mrsk::Cli::Traefik.any_instance.expects(:stop) Mrsk::Cli::Traefik.any_instance.expects(:remove_container) - Mrsk::Cli::Traefik.any_instance.expects(:boot) + Mrsk::Cli::Traefik.any_instance.expects(:boot).with(login: false) run_command("reboot") end