foreman_maintain 1.7.2 → 1.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84b855d08a7d01c7df1b6e6df2f757418986c9eb33a1dda287d894099d0cd4a4
4
- data.tar.gz: 5862df244ff4a6dfa7edf3dd348eb942c43854ab9ff11d20399af2dec99a4775
3
+ metadata.gz: e3e15401e01712537566856184b187a132a0c3db2634955d8688875ba4c2ca01
4
+ data.tar.gz: 5e0bcafc241cf70f128ebe6fe887b50b83dd265311fec601360f92bbd2760751
5
5
  SHA512:
6
- metadata.gz: 0422c2363fdb4fdd3b692205ce0db20f2b603c7a65efe3d7f30c8d1654036c5e6a344a0d8d4bdc1bc400b42eaf7e4eeca9ab0c799ceee5ad3cd1b60febe93c87
7
- data.tar.gz: d983619c591e737257078a6b8f2cb15cc15bb3bc9227c6a8ae413b5742eeecc2d7f1e57544659ee4e3c23cf83eb553e83d1a5af3fd552115da3ee9864c714dd9
6
+ metadata.gz: c6344eb03b0caec004ebd5920bd7d416535000379361146680af2e1870d28a98816403210bcc8db78dc18be27c2d8559400fbc0c7160f5e8c680923f833b4eb6
7
+ data.tar.gz: cd87120311bedea2789b1ccf9db5b16ae8b81282eb0d49ac9e053f19b4702328dca9a502e4788898fd47330122dca3014dabf579f02a8e885c24685c72fd619c
@@ -19,6 +19,27 @@ module ForemanMaintain
19
19
  update_runner
20
20
  end
21
21
 
22
+ def try_update
23
+ if update_runner.available?
24
+ yield
25
+ else
26
+ instance = ForemanMaintain.detector.feature(:instance)
27
+ msg = <<~BANNER
28
+
29
+ This version of #{ForemanMaintain.command_name} only supports #{instance.target_version},
30
+ but the installed version of #{instance.product_name} is #{instance.current_major_version}.
31
+
32
+ Therefore the update command is not available right now.
33
+
34
+ Please install a version of #{ForemanMaintain.command_name} that supports #{instance.current_major_version}
35
+ or perform an upgrade to #{instance.target_version} using the upgrade command.
36
+ BANNER
37
+
38
+ puts msg
39
+ ForemanMaintain::UpdateRunner::WARNING_EXIT_CODE
40
+ end
41
+ end
42
+
22
43
  subcommand 'check', 'Run pre-update checks before updating' do
23
44
  interactive_option
24
45
  disable_self_update_option
@@ -26,9 +47,14 @@ module ForemanMaintain
26
47
  def execute
27
48
  ForemanMaintain.validate_downstream_packages
28
49
  ForemanMaintain.perform_self_upgrade unless disable_self_update?
29
- runner = update_runner
30
- runner.run_phase(:pre_update_checks)
31
- exit runner.exit_code
50
+
51
+ exit_code = try_update do
52
+ runner = update_runner
53
+ runner.run_phase(:pre_update_checks)
54
+ runner.exit_code
55
+ end
56
+
57
+ exit exit_code
32
58
  end
33
59
  end
34
60
 
@@ -39,10 +65,15 @@ module ForemanMaintain
39
65
  def execute
40
66
  ForemanMaintain.validate_downstream_packages
41
67
  ForemanMaintain.perform_self_upgrade unless disable_self_update?
42
- runner = update_runner
43
- runner.run
44
- runner.save
45
- exit runner.exit_code
68
+
69
+ exit_code = try_update do
70
+ runner = update_runner
71
+ runner.run
72
+ runner.save
73
+ runner.exit_code
74
+ end
75
+
76
+ exit exit_code
46
77
  end
47
78
  end
48
79
  end
@@ -18,6 +18,12 @@ module ForemanMaintain
18
18
  self.phase = :pre_update_checks
19
19
  end
20
20
 
21
+ def available?
22
+ condition = { :tags => [:update_scenario, :pre_update_checks] }
23
+ matching_scenarios = find_scenarios(condition)
24
+ !matching_scenarios.empty?
25
+ end
26
+
21
27
  def find_scenario(phase)
22
28
  return @scenario_cache[phase] if @scenario_cache.key?(phase)
23
29
 
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '1.7.2'.freeze
2
+ VERSION = '1.7.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_maintain
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.2
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Nečas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-26 00:00:00.000000000 Z
11
+ date: 2024-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp