Class: ForemanMaintain::Cli::SelfUpgradeCommand
- Inherits:
-
Base
- Object
- Clamp::Command
- Base
- ForemanMaintain::Cli::SelfUpgradeCommand
show all
- Defined in:
- lib/foreman_maintain/cli/self_upgrade_command.rb
Instance Attribute Summary
Attributes inherited from Base
#runner
Instance Method Summary
collapse
Methods inherited from Base
#available_checks, #available_procedures, available_tags, #available_tags, completion_map, completion_types, dashize, #dashize, delete_duplicate_assumeyes_if_any, interactive_option, label_option, #label_string, option, #option_wrapper, parameter, #print_check_info, #reporter, #run_scenario, #run_scenarios_and_exit, service_options, subcommand, #tag_string, tags_option, #underscorize
#logger
#check, #detector, #feature, #find_all_scenarios, #find_checks, #find_procedures, #find_scenarios, #procedure
Instance Method Details
#allow_major_version_upgrade_only ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/foreman_maintain/cli/self_upgrade_command.rb', line 24
def allow_major_version_upgrade_only
begin
next_version = Gem::Version.new(target_version)
rescue ArgumentError => err
raise Error::UsageError, "Invalid version! #{err}"
end
if current_downstream_version >= next_version
message = "The target-version #{target_version} should be "\
"greater than existing version #{current_downstream_version}!"
raise Error::UsageError, message
end
end
|
#current_downstream_version ⇒ Object
20
21
22
|
# File 'lib/foreman_maintain/cli/self_upgrade_command.rb', line 20
def current_downstream_version
ForemanMaintain.detector.feature(:instance).downstream.current_version
end
|
#execute ⇒ Object
7
8
9
10
|
# File 'lib/foreman_maintain/cli/self_upgrade_command.rb', line 7
def execute
allow_major_version_upgrade_only
run_scenario(upgrade_scenario, upgrade_rescue_scenario)
end
|
#upgrade_rescue_scenario ⇒ Object
16
17
18
|
# File 'lib/foreman_maintain/cli/self_upgrade_command.rb', line 16
def upgrade_rescue_scenario
Scenarios::SelfUpgradeRescue.new(target_version: target_version)
end
|
#upgrade_scenario ⇒ Object
12
13
14
|
# File 'lib/foreman_maintain/cli/self_upgrade_command.rb', line 12
def upgrade_scenario
Scenarios::SelfUpgrade.new(target_version: target_version)
end
|