Skip to content

Commit

Permalink
Login to the registry proactively before stoping Accessory and Traefik
Browse files Browse the repository at this point in the history
  • Loading branch information
igor-alexandrov committed Jun 22, 2023
1 parent 9a50186 commit 2746a48
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 8 deletions.
10 changes: 7 additions & 3 deletions lib/mrsk/cli/accessory.rb
Original file line number Diff line number Diff line change
@@ -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) }
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
14 changes: 11 additions & 3 deletions lib/mrsk/cli/traefik.rb
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -12,9 +12,17 @@ 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)

on(MRSK.traefik_hosts) do
execute *MRSK.traefik.run, raise_on_non_zero_exit: false
end
end
end

Expand Down
3 changes: 2 additions & 1 deletion test/cli/accessory_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion test/cli/traefik_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 2746a48

Please sign in to comment.