# File lib/foreman_maintain/cli/upgrade_command.rb, line 9 def self.disable_self_upgrade_option option '--disable-self-upgrade', :flag, 'Disable automatic self upgrade', :default => false end
# File lib/foreman_maintain/cli/upgrade_command.rb, line 4 def self.target_version_option option '--target-version', 'TARGET_VERSION', 'Target version of the upgrade', :required => false end
# File lib/foreman_maintain/cli/upgrade_command.rb, line 14 def current_target_version current_target_version = ForemanMaintain::UpgradeRunner.current_target_version if current_target_version && target_version && target_version != current_target_version raise Error::UsageError, "Can't set target version #{target_version}, " "#{current_target_version} already in progress" end @target_version = current_target_version if current_target_version return true if current_target_version end
# File lib/foreman_maintain/cli/upgrade_command.rb, line 58 def execute ForemanMaintain.perform_self_upgrade unless disable_self_upgrade? print_versions(UpgradeRunner.available_targets) end
# File lib/foreman_maintain/cli/upgrade_command.rb, line 51 def print_versions(target_versions) target_versions.sort.each { |version| puts version } end
# File lib/foreman_maintain/cli/upgrade_command.rb, line 42 def upgrade_runner return @upgrade_runner if defined? @upgrade_runner validate_target_version! @upgrade_runner = ForemanMaintain::UpgradeRunner.new(target_version, reporter, :assumeyes => assumeyes?, :whitelist => whitelist || [], :force => force?).tap(&:load) end
# File lib/foreman_maintain/cli/upgrade_command.rb, line 25 def validate_target_version! return if current_target_version unless UpgradeRunner.available_targets.include?(target_version) message_start = if target_version "Can't upgrade to #{target_version}" else '--target-version not specified' end message = " #{message_start} Possible target versions are: ".strip_heredoc versions = UpgradeRunner.available_targets.join("\n") raise Error::UsageError, message + versions end end