class ForemanMaintain::Cli::UpgradeCommand
Public Class Methods
disable_self_upgrade_option()
click to toggle source
# File lib/foreman_maintain/cli/upgrade_command.rb, line 4 def self.disable_self_upgrade_option option '--disable-self-upgrade', :flag, 'Disable automatic self upgrade', :default => false end
Public Instance Methods
allow_self_upgrade?()
click to toggle source
# File lib/foreman_maintain/cli/upgrade_command.rb, line 17 def allow_self_upgrade? !disable_self_upgrade? end
execute()
click to toggle source
# File lib/foreman_maintain/cli/upgrade_command.rb, line 42 def execute ForemanMaintain.validate_downstream_packages ForemanMaintain.perform_self_upgrade if allow_self_upgrade? exit_code = try_upgrade do upgrade_runner.run_phase(:pre_upgrade_checks) upgrade_runner.exit_code end exit exit_code end
try_upgrade() { || ... }
click to toggle source
# File lib/foreman_maintain/cli/upgrade_command.rb, line 21 def try_upgrade if upgrade_runner.available? yield else instance = ForemanMaintain.detector.feature(:instance) msg = <<~BANNER There are no upgrades available. The current version of #{instance.product_name} is #{instance.current_major_version}. Consider using the update command. BANNER puts msg ForemanMaintain::UpgradeRunner::WARNING_EXIT_CODE end end
upgrade_runner()
click to toggle source
# File lib/foreman_maintain/cli/upgrade_command.rb, line 9 def upgrade_runner return @upgrade_runner if defined? @upgrade_runner @upgrade_runner = ForemanMaintain::UpgradeRunner.new(reporter, :assumeyes => assumeyes?, :whitelist => whitelist || [], :force => force?).tap(&:load) end