class ForemanMaintain::Cli::UpgradeCommand

Public Class Methods

disable_self_upgrade_option() click to toggle source
# 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
target_version_option() click to toggle source
# 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

Public Instance Methods

allow_self_upgrade?() click to toggle source
# File lib/foreman_maintain/cli/upgrade_command.rb, line 55
def allow_self_upgrade?
  !disable_self_upgrade?
end
current_target_version() click to toggle source
# 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
execute() click to toggle source
# File lib/foreman_maintain/cli/upgrade_command.rb, line 62
def execute
  ForemanMaintain.validate_downstream_packages
  ForemanMaintain.perform_self_upgrade if allow_self_upgrade?
  print_versions(UpgradeRunner.available_targets)
end
print_versions(target_versions) click to toggle source
upgrade_runner() click to toggle source
# 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
validate_target_version!() click to toggle source
# 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.strip_heredoc
            #{message_start}
            Possible target versions are:
          MESSAGE
          versions = UpgradeRunner.available_targets.join("\n")
          raise Error::UsageError, message + versions
        end
      end