Use cli = self approach

This commit is contained in:
Jacopo
2023-04-11 16:04:46 +02:00
parent 12e3a562c4
commit 0bfd4ca780
2 changed files with 14 additions and 11 deletions

View File

@@ -130,11 +130,13 @@ class Mrsk::Cli::App < Mrsk::Cli::Base
with_lock do
stop = options[:stop]
cli = self
on(MRSK.hosts) do |host|
roles = MRSK.roles_on(host)
roles.each do |role|
stale_versions(role: role).each do |version|
cli.stale_versions(host: host, role: role).each do |version|
if stop
puts_by_host host, "Stopping stale container for role #{role} with version #{version}"
execute *MRSK.app(role: role).stop(version: version), raise_on_non_zero_exit: false
@@ -242,6 +244,17 @@ class Mrsk::Cli::App < Mrsk::Cli::Base
on(MRSK.hosts) { |host| puts_by_host host, capture_with_info(*MRSK.app.current_running_version).strip }
end
def stale_versions(host:, role:)
stale_versions = nil
on(host) do
stale_versions = \
capture_with_info(*MRSK.app(role: role).list_versions, raise_on_non_zero_exit: false)
.split("\n")
.drop(1)
end
stale_versions
end
private
def using_version(new_version)
if new_version

View File

@@ -1,17 +1,7 @@
require "sshkit"
require "sshkit/dsl"
module AppHelper
def stale_versions(role:)
capture_with_info(*MRSK.app(role: role).list_versions, raise_on_non_zero_exit: false)
.split("\n")
.drop(1)
end
end
class SSHKit::Backend::Abstract
include AppHelper
def capture_with_info(*args, **kwargs)
capture(*args, **kwargs, verbosity: Logger::INFO)
end