Log on boot errors with one role
We didn't log boot errors if there was one role because there was no barrier and the logging is done by the first host to close the barrier. Let's always create the barrier to fix this.
This commit is contained in:
@@ -14,7 +14,7 @@ class Kamal::Cli::App < Kamal::Cli::Base
|
||||
end
|
||||
|
||||
# Primary hosts and roles are returned first, so they can open the barrier
|
||||
barrier = Kamal::Cli::Healthcheck::Barrier.new if KAMAL.roles.many?
|
||||
barrier = Kamal::Cli::Healthcheck::Barrier.new
|
||||
|
||||
on(KAMAL.hosts, **KAMAL.boot_strategy) do |host|
|
||||
KAMAL.roles_on(host).each do |role|
|
||||
|
||||
@@ -72,7 +72,7 @@ class Kamal::Cli::App::Boot
|
||||
|
||||
def release_barrier
|
||||
if barrier.open
|
||||
info "First #{KAMAL.primary_role} container is healthy on #{host}, booting other roles"
|
||||
info "First #{KAMAL.primary_role} container is healthy on #{host}, booting any other roles"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -87,7 +87,7 @@ class Kamal::Cli::App::Boot
|
||||
|
||||
def close_barrier
|
||||
if barrier.close
|
||||
info "First #{KAMAL.primary_role} container is unhealthy on #{host}, not booting other roles"
|
||||
info "First #{KAMAL.primary_role} container is unhealthy on #{host}, not booting any other roles"
|
||||
error capture_with_info(*app.logs(version: version))
|
||||
error capture_with_info(*app.container_health_log(version: version))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user