foreman_maintain 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -4
  3. data/bin/foreman-maintain +1 -1
  4. data/bin/foreman-maintain-complete +5 -5
  5. data/definitions/checks/candlepin/db_up.rb +1 -1
  6. data/definitions/checks/candlepin/validate_db.rb +2 -9
  7. data/definitions/checks/check_for_newer_packages.rb +5 -5
  8. data/definitions/checks/check_hotfix_installed.rb +3 -7
  9. data/definitions/checks/disk/available_space_postgresql12.rb +3 -2
  10. data/definitions/checks/disk/performance.rb +3 -3
  11. data/definitions/checks/foreman/check_corrupted_roles.rb +2 -4
  12. data/definitions/checks/foreman/check_duplicate_permission.rb +1 -1
  13. data/definitions/checks/foreman/check_duplicate_roles.rb +1 -1
  14. data/definitions/checks/foreman/check_tuning_requirements.rb +1 -1
  15. data/definitions/checks/foreman/db_up.rb +1 -1
  16. data/definitions/checks/foreman/facts_names.rb +4 -4
  17. data/definitions/checks/foreman_openscap/invalid_report_associations.rb +4 -4
  18. data/definitions/checks/foreman_proxy/check_tftp_storage.rb +4 -4
  19. data/definitions/checks/foreman_proxy/verify_dhcp_config_syntax.rb +1 -2
  20. data/definitions/checks/foreman_tasks/invalid/check_old.rb +2 -2
  21. data/definitions/checks/foreman_tasks/invalid/check_pending_state.rb +2 -2
  22. data/definitions/checks/foreman_tasks/invalid/check_planning_state.rb +2 -2
  23. data/definitions/checks/foreman_tasks/not_paused.rb +2 -2
  24. data/definitions/checks/foreman_tasks/not_running.rb +6 -6
  25. data/definitions/checks/original_assets.rb +3 -3
  26. data/definitions/checks/package_manager/yum/validate_yum_config.rb +1 -1
  27. data/definitions/checks/pulpcore/db_up.rb +1 -1
  28. data/definitions/checks/repositories/check_upstream_repository.rb +2 -2
  29. data/definitions/checks/repositories/validate.rb +2 -2
  30. data/definitions/checks/restore/validate_backup.rb +2 -2
  31. data/definitions/checks/restore/validate_hostname.rb +2 -2
  32. data/definitions/checks/restore/validate_interfaces.rb +2 -2
  33. data/definitions/checks/restore/validate_postgresql_dump_permissions.rb +31 -0
  34. data/definitions/checks/services_up.rb +2 -2
  35. data/definitions/features/apache.rb +1 -1
  36. data/definitions/features/candlepin.rb +1 -1
  37. data/definitions/features/candlepin_database.rb +2 -4
  38. data/definitions/features/cron.rb +3 -5
  39. data/definitions/features/dynflow_sidekiq.rb +2 -2
  40. data/definitions/features/foreman_cockpit.rb +1 -1
  41. data/definitions/features/foreman_database.rb +1 -1
  42. data/definitions/features/foreman_proxy.rb +1 -1
  43. data/definitions/features/foreman_server.rb +2 -2
  44. data/definitions/features/foreman_tasks.rb +9 -12
  45. data/definitions/features/gofer.rb +1 -1
  46. data/definitions/features/hammer.rb +4 -4
  47. data/definitions/features/installer.rb +4 -5
  48. data/definitions/features/instance.rb +12 -14
  49. data/definitions/features/katello.rb +8 -12
  50. data/definitions/features/pulpcore.rb +5 -3
  51. data/definitions/features/pulpcore_database.rb +3 -1
  52. data/definitions/features/puppet_server.rb +1 -1
  53. data/definitions/features/redis.rb +2 -18
  54. data/definitions/features/salt_server.rb +1 -1
  55. data/definitions/features/service.rb +4 -48
  56. data/definitions/features/sync_plans.rb +2 -2
  57. data/definitions/features/tar.rb +4 -3
  58. data/definitions/procedures/backup/compress_data.rb +0 -1
  59. data/definitions/procedures/backup/config_files.rb +6 -5
  60. data/definitions/procedures/backup/prepare_directory.rb +0 -2
  61. data/definitions/procedures/backup/pulp.rb +3 -3
  62. data/definitions/procedures/backup/snapshot/clean_mount.rb +1 -1
  63. data/definitions/procedures/backup/snapshot/logical_volume_confirmation.rb +1 -2
  64. data/definitions/procedures/backup/snapshot/mount_pulp.rb +2 -2
  65. data/definitions/procedures/foreman/fix_corrupted_roles.rb +3 -3
  66. data/definitions/procedures/foreman_tasks/delete.rb +3 -3
  67. data/definitions/procedures/hammer_setup.rb +1 -1
  68. data/definitions/procedures/knowledge_base_article.rb +3 -4
  69. data/definitions/procedures/packages/enable_modules.rb +1 -1
  70. data/definitions/procedures/packages/install.rb +1 -1
  71. data/definitions/procedures/packages/uninstall.rb +1 -1
  72. data/definitions/procedures/packages/update.rb +1 -1
  73. data/definitions/procedures/remote_execution/remove_existing_settingsd.rb +2 -2
  74. data/definitions/procedures/repositories/enable.rb +1 -1
  75. data/definitions/procedures/repositories/setup.rb +2 -2
  76. data/definitions/procedures/restore/candlepin_dump.rb +2 -2
  77. data/definitions/procedures/restore/configs.rb +3 -10
  78. data/definitions/procedures/restore/drop_databases.rb +2 -2
  79. data/definitions/procedures/restore/extract_files.rb +4 -17
  80. data/definitions/procedures/restore/foreman_dump.rb +2 -2
  81. data/definitions/procedures/restore/installer_reset.rb +1 -2
  82. data/definitions/procedures/restore/postgres_owner.rb +2 -2
  83. data/definitions/procedures/restore/pulpcore_dump.rb +2 -2
  84. data/definitions/procedures/selinux/set_file_security.rb +2 -2
  85. data/definitions/procedures/service/restart.rb +1 -1
  86. data/definitions/scenarios/backup.rb +44 -61
  87. data/definitions/scenarios/packages.rb +9 -9
  88. data/definitions/scenarios/restore.rb +24 -40
  89. data/definitions/scenarios/self_upgrade.rb +7 -11
  90. data/definitions/scenarios/services.rb +17 -17
  91. data/extras/foreman_protector/foreman-protector.whitelist +0 -6
  92. data/lib/foreman_maintain/cli/advanced/prebuild_bash_completion.rb +1 -1
  93. data/lib/foreman_maintain/cli/advanced_command.rb +2 -2
  94. data/lib/foreman_maintain/cli/backup_command.rb +17 -17
  95. data/lib/foreman_maintain/cli/base.rb +13 -13
  96. data/lib/foreman_maintain/cli/maintenance_mode_command.rb +1 -1
  97. data/lib/foreman_maintain/cli/plugin_command.rb +1 -1
  98. data/lib/foreman_maintain/cli/restore_command.rb +4 -4
  99. data/lib/foreman_maintain/cli/self_upgrade_command.rb +2 -2
  100. data/lib/foreman_maintain/cli/service_command.rb +2 -2
  101. data/lib/foreman_maintain/cli/transform_clamp_options.rb +1 -1
  102. data/lib/foreman_maintain/cli/upgrade_command.rb +7 -7
  103. data/lib/foreman_maintain/cli.rb +1 -11
  104. data/lib/foreman_maintain/concerns/base_database.rb +8 -17
  105. data/lib/foreman_maintain/concerns/downstream.rb +6 -64
  106. data/lib/foreman_maintain/concerns/firewall/iptables_maintenance_mode.rb +1 -1
  107. data/lib/foreman_maintain/concerns/foreman_and_katello_version_map.rb +1 -1
  108. data/lib/foreman_maintain/concerns/os_facts.rb +0 -8
  109. data/lib/foreman_maintain/concerns/primary_checks.rb +6 -5
  110. data/lib/foreman_maintain/concerns/pulp_common.rb +1 -8
  111. data/lib/foreman_maintain/concerns/system_helpers.rb +3 -6
  112. data/lib/foreman_maintain/concerns/upstream.rb +3 -3
  113. data/lib/foreman_maintain/config.rb +6 -6
  114. data/lib/foreman_maintain/core_ext.rb +2 -2
  115. data/lib/foreman_maintain/executable.rb +7 -9
  116. data/lib/foreman_maintain/package_manager/apt.rb +2 -2
  117. data/lib/foreman_maintain/package_manager/base.rb +0 -2
  118. data/lib/foreman_maintain/package_manager/dnf.rb +2 -2
  119. data/lib/foreman_maintain/package_manager/yum.rb +2 -3
  120. data/lib/foreman_maintain/package_manager.rb +1 -3
  121. data/lib/foreman_maintain/param.rb +2 -2
  122. data/lib/foreman_maintain/reporter/cli_reporter.rb +6 -7
  123. data/lib/foreman_maintain/reporter.rb +15 -10
  124. data/lib/foreman_maintain/repository_manager/el.rb +2 -10
  125. data/lib/foreman_maintain/repository_manager.rb +2 -1
  126. data/lib/foreman_maintain/runner.rb +5 -5
  127. data/lib/foreman_maintain/scenario.rb +4 -2
  128. data/lib/foreman_maintain/upgrade_runner.rb +0 -2
  129. data/lib/foreman_maintain/utils/backup.rb +27 -111
  130. data/lib/foreman_maintain/utils/bash.rb +18 -19
  131. data/lib/foreman_maintain/utils/command_runner.rb +5 -9
  132. data/lib/foreman_maintain/utils/hash_tools.rb +5 -5
  133. data/lib/foreman_maintain/utils/response.rb +1 -0
  134. data/lib/foreman_maintain/utils/service/remote_db.rb +1 -0
  135. data/lib/foreman_maintain/utils/service/systemd.rb +3 -5
  136. data/lib/foreman_maintain/utils/service.rb +1 -1
  137. data/lib/foreman_maintain/utils.rb +0 -1
  138. data/lib/foreman_maintain/version.rb +1 -1
  139. data/lib/foreman_maintain/yaml_storage.rb +1 -0
  140. data/lib/foreman_maintain.rb +3 -3
  141. metadata +29 -78
  142. data/definitions/checks/foreman/check_https_proxies.rb +0 -34
  143. data/definitions/checks/mongo/db_up.rb +0 -33
  144. data/definitions/checks/mongo/tools_installed.rb +0 -31
  145. data/definitions/checks/pulpcore/group_ownership_check.rb +0 -18
  146. data/definitions/checks/puppet/provide_upgrade_guide.rb +0 -35
  147. data/definitions/checks/puppet/warn_about_puppet_removal.rb +0 -35
  148. data/definitions/checks/remote_execution/verify_settings_file_already_exists.rb +0 -42
  149. data/definitions/features/mongo.rb +0 -217
  150. data/definitions/features/pulp2.rb +0 -35
  151. data/definitions/procedures/backup/offline/mongo.rb +0 -56
  152. data/definitions/procedures/backup/online/mongo.rb +0 -21
  153. data/definitions/procedures/backup/snapshot/mount_mongo.rb +0 -43
  154. data/definitions/procedures/candlepin/delete_orphaned_records_from_env_content.rb +0 -40
  155. data/definitions/procedures/content/fix_pulpcore_artifact_permissions.rb +0 -31
  156. data/definitions/procedures/content/migration_reset.rb +0 -12
  157. data/definitions/procedures/content/migration_stats.rb +0 -12
  158. data/definitions/procedures/content/prepare.rb +0 -17
  159. data/definitions/procedures/content/prepare_abort.rb +0 -12
  160. data/definitions/procedures/content/switchover.rb +0 -41
  161. data/definitions/procedures/prep_6_10_upgrade.rb +0 -29
  162. data/definitions/procedures/pulp/cleanup_old_metadata_files.rb +0 -75
  163. data/definitions/procedures/pulp/migrate.rb +0 -23
  164. data/definitions/procedures/pulp/print_remove_instructions.rb +0 -16
  165. data/definitions/procedures/pulp/remove.rb +0 -222
  166. data/definitions/procedures/restore/ensure_mongo_engine_matches.rb +0 -35
  167. data/definitions/procedures/restore/mongo_dump.rb +0 -41
  168. data/definitions/procedures/restore/regenerate_queues.rb +0 -69
  169. data/definitions/scenarios/content.rb +0 -158
  170. data/definitions/scenarios/prep_6_10_upgrade.rb +0 -13
  171. data/definitions/scenarios/upgrade_to_capsule_6_10.rb +0 -89
  172. data/definitions/scenarios/upgrade_to_capsule_6_10_z.rb +0 -88
  173. data/definitions/scenarios/upgrade_to_capsule_6_11.rb +0 -91
  174. data/definitions/scenarios/upgrade_to_capsule_6_11_z.rb +0 -90
  175. data/definitions/scenarios/upgrade_to_capsule_6_12.rb +0 -92
  176. data/definitions/scenarios/upgrade_to_capsule_6_12_z.rb +0 -92
  177. data/definitions/scenarios/upgrade_to_capsule_6_13.rb +0 -92
  178. data/definitions/scenarios/upgrade_to_capsule_6_13_z.rb +0 -92
  179. data/definitions/scenarios/upgrade_to_capsule_6_8.rb +0 -88
  180. data/definitions/scenarios/upgrade_to_capsule_6_8_z.rb +0 -88
  181. data/definitions/scenarios/upgrade_to_capsule_6_9.rb +0 -88
  182. data/definitions/scenarios/upgrade_to_capsule_6_9_z.rb +0 -88
  183. data/definitions/scenarios/upgrade_to_satellite_6_10.rb +0 -113
  184. data/definitions/scenarios/upgrade_to_satellite_6_10_z.rb +0 -89
  185. data/definitions/scenarios/upgrade_to_satellite_6_11.rb +0 -96
  186. data/definitions/scenarios/upgrade_to_satellite_6_11_z.rb +0 -91
  187. data/definitions/scenarios/upgrade_to_satellite_6_12.rb +0 -95
  188. data/definitions/scenarios/upgrade_to_satellite_6_12_z.rb +0 -94
  189. data/definitions/scenarios/upgrade_to_satellite_6_13.rb +0 -95
  190. data/definitions/scenarios/upgrade_to_satellite_6_13_z.rb +0 -94
  191. data/definitions/scenarios/upgrade_to_satellite_6_2.rb +0 -88
  192. data/definitions/scenarios/upgrade_to_satellite_6_2_z.rb +0 -88
  193. data/definitions/scenarios/upgrade_to_satellite_6_3.rb +0 -89
  194. data/definitions/scenarios/upgrade_to_satellite_6_3_z.rb +0 -88
  195. data/definitions/scenarios/upgrade_to_satellite_6_4.rb +0 -89
  196. data/definitions/scenarios/upgrade_to_satellite_6_4_z.rb +0 -88
  197. data/definitions/scenarios/upgrade_to_satellite_6_5.rb +0 -88
  198. data/definitions/scenarios/upgrade_to_satellite_6_5_z.rb +0 -88
  199. data/definitions/scenarios/upgrade_to_satellite_6_6.rb +0 -90
  200. data/definitions/scenarios/upgrade_to_satellite_6_6_z.rb +0 -90
  201. data/definitions/scenarios/upgrade_to_satellite_6_7.rb +0 -88
  202. data/definitions/scenarios/upgrade_to_satellite_6_7_z.rb +0 -88
  203. data/definitions/scenarios/upgrade_to_satellite_6_8.rb +0 -91
  204. data/definitions/scenarios/upgrade_to_satellite_6_8_z.rb +0 -89
  205. data/definitions/scenarios/upgrade_to_satellite_6_9.rb +0 -91
  206. data/definitions/scenarios/upgrade_to_satellite_6_9_z.rb +0 -89
  207. data/lib/foreman_maintain/cli/content_command.rb +0 -69
  208. data/lib/foreman_maintain/utils/mongo_core.rb +0 -86
@@ -28,7 +28,7 @@ class Features::ForemanDatabase < ForemanMaintain::Feature
28
28
  def services
29
29
  [
30
30
  system_service('postgresql', 10, :component => 'foreman',
31
- :db_feature => feature(:foreman_database))
31
+ :db_feature => feature(:foreman_database)),
32
32
  ]
33
33
  end
34
34
 
@@ -58,7 +58,7 @@ class Features::ForemanProxy < ForemanMaintain::Feature
58
58
  '/var/lib/foreman-proxy/ssh',
59
59
  '/etc/smart_proxy_dynflow_core/settings.yml',
60
60
  '/etc/sudoers.d/foreman-proxy',
61
- settings_file
61
+ settings_file,
62
62
  ]
63
63
  end
64
64
 
@@ -35,13 +35,13 @@ module ForemanMaintain
35
35
  '/etc/selinux/targeted/contexts/files/file_contexts.subs',
36
36
  '/etc/sysconfig/foreman',
37
37
  '/usr/share/ruby/vendor_ruby/puppet/reports/foreman.rb',
38
- '/var/lib/foreman'
38
+ '/var/lib/foreman',
39
39
  ]
40
40
  end
41
41
 
42
42
  def config_files_to_exclude
43
43
  [
44
- '/var/lib/foreman/public'
44
+ '/var/lib/foreman/public',
45
45
  ]
46
46
  end
47
47
 
@@ -40,14 +40,14 @@ class Features::ForemanTasks < ForemanMaintain::Feature
40
40
  end
41
41
  end
42
42
 
43
- def backup_tasks(state)
44
- backup_table('dynflow_execution_plans', state, 'uuid') { |status| yield(status) }
45
- backup_table('dynflow_steps', state) { |status| yield(status) }
46
- backup_table('dynflow_actions', state) { |status| yield(status) }
43
+ def backup_tasks(state, &block)
44
+ backup_table('dynflow_execution_plans', state, 'uuid', &block)
45
+ backup_table('dynflow_steps', state, &block)
46
+ backup_table('dynflow_actions', state, &block)
47
47
 
48
48
  yield('Backup Tasks [running]')
49
49
  export_csv("SELECT * FROM foreman_tasks_tasks WHERE #{condition(state)}",
50
- 'foreman_tasks_tasks.csv', state)
50
+ 'foreman_tasks_tasks.csv', state)
51
51
  yield('Backup Tasks [DONE]')
52
52
  @backup_dir = nil
53
53
  end
@@ -106,9 +106,10 @@ class Features::ForemanTasks < ForemanMaintain::Feature
106
106
  def condition(state)
107
107
  raise 'Invalid State' unless valid(state)
108
108
 
109
- if state == :old
109
+ case state
110
+ when :old
110
111
  old_tasks_condition
111
- elsif state == :paused
112
+ when :paused
112
113
  paused_tasks_condition
113
114
  else
114
115
  tasks_condition(state)
@@ -116,11 +117,7 @@ class Features::ForemanTasks < ForemanMaintain::Feature
116
117
  end
117
118
 
118
119
  def resume_task_using_hammer
119
- if feature(:satellite) && feature(:satellite).current_minor_version == '6.8'
120
- feature(:hammer).run('task resume --search "" --fields="Total tasks resumed"')
121
- else
122
- feature(:hammer).run('task resume --fields="Total tasks resumed"')
123
- end
120
+ feature(:hammer).run('task resume --fields="Total tasks resumed"')
124
121
  end
125
122
 
126
123
  def fetch_tasks_status(state, spinner)
@@ -10,7 +10,7 @@ class Features::Gofer < ForemanMaintain::Feature
10
10
 
11
11
  def services
12
12
  [
13
- system_service('goferd', 30)
13
+ system_service('goferd', 30),
14
14
  ]
15
15
  end
16
16
  end
@@ -20,7 +20,7 @@ class Features::Hammer < ForemanMaintain::Feature
20
20
  def config_directories
21
21
  [
22
22
  '~/.hammer/',
23
- '/etc/hammer/'
23
+ '/etc/hammer/',
24
24
  ]
25
25
  end
26
26
 
@@ -122,14 +122,14 @@ class Features::Hammer < ForemanMaintain::Feature
122
122
  configuration[:foreman][:username] != username
123
123
  end
124
124
 
125
- def exec_hammer_cmd(cmd, required_json = false)
125
+ def exec_hammer_cmd(cmd, required_json: false)
126
126
  response = run(cmd)
127
127
  json_str = parse_json(response) if required_json
128
- json_str ? json_str : response
128
+ json_str || response
129
129
  end
130
130
 
131
131
  def load_configuration
132
- config_directories.reverse.each do |path|
132
+ config_directories.reverse_each do |path|
133
133
  full_path = File.expand_path path
134
134
  next unless File.directory? full_path
135
135
 
@@ -66,7 +66,7 @@ class Features::Installer < ForemanMaintain::Feature
66
66
  [
67
67
  '/usr/local/bin/validate_postgresql_connection.sh',
68
68
  '/opt/puppetlabs/puppet/cache/foreman_cache_data',
69
- '/opt/puppetlabs/puppet/cache/pulpcore_cache_data'
69
+ '/opt/puppetlabs/puppet/cache/pulpcore_cache_data',
70
70
  ]
71
71
  end
72
72
 
@@ -111,14 +111,13 @@ class Features::Installer < ForemanMaintain::Feature
111
111
  def installer_arguments
112
112
  installer_args = ''
113
113
 
114
- if feature(:foreman_proxy) &&
115
- feature(:foreman_proxy).with_content? &&
114
+ if feature(:foreman_proxy)&.with_content? &&
116
115
  check_max_version('foreman-installer', '3.4')
117
116
  installer_args += ' --disable-system-checks'
118
117
  end
119
118
 
120
- unless check_min_version('foreman-installer', '2.1')
121
- installer_args += ' --upgrade' if can_upgrade?
119
+ if !check_min_version('foreman-installer', '2.1') && can_upgrade?
120
+ installer_args += ' --upgrade'
122
121
  end
123
122
 
124
123
  installer_args
@@ -43,7 +43,7 @@ class Features::Instance < ForemanMaintain::Feature
43
43
  end
44
44
 
45
45
  def foreman_proxy_with_content?
46
- feature(:foreman_proxy) && feature(:foreman_proxy).with_content? && !feature(:katello)
46
+ feature(:foreman_proxy)&.with_content? && !feature(:katello)
47
47
  end
48
48
 
49
49
  def downstream
@@ -72,7 +72,7 @@ class Features::Instance < ForemanMaintain::Feature
72
72
  end
73
73
 
74
74
  def pulp
75
- feature(:pulp2) || feature(:pulpcore)
75
+ feature(:pulpcore)
76
76
  end
77
77
 
78
78
  def firewall
@@ -85,7 +85,7 @@ class Features::Instance < ForemanMaintain::Feature
85
85
 
86
86
  private
87
87
 
88
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
88
+ # rubocop:disable Metrics/AbcSize
89
89
  def katello_ping
90
90
  res = server_connection.get('/katello/api/ping')
91
91
  logger.debug('Called /katello/api/ping')
@@ -95,19 +95,19 @@ class Features::Instance < ForemanMaintain::Feature
95
95
  result = create_response(false, response['message'] || response['displayMessage'])
96
96
  else # valid response
97
97
  failing_components = pick_failing_components(response['services'])
98
- if failing_components.empty? # all okay
99
- result = create_response(true, 'Success')
100
- else # some components not okay
101
- result = create_response(false,
102
- "Some components are failing: #{failing_components.join(', ')}",
103
- component_services(failing_components))
104
- end
98
+ result = if failing_components.empty? # all okay
99
+ create_response(true, 'Success')
100
+ else # some components not okay
101
+ create_response(false,
102
+ "Some components are failing: #{failing_components.join(', ')}",
103
+ component_services(failing_components))
104
+ end
105
105
  end
106
106
  result
107
107
  rescue StandardError => e # server error, server down
108
108
  create_response(false, "Couldn't connect to the server: #{e.message}")
109
109
  end
110
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
110
+ # rubocop:enable Metrics/AbcSize
111
111
 
112
112
  def foreman_ping
113
113
  res = server_connection.get('/apidoc/apipie_checksum')
@@ -157,13 +157,11 @@ class Features::Instance < ForemanMaintain::Feature
157
157
  'candlepin_auth' => %w[candlepin candlepin_database],
158
158
  'candlepin_events' => %w[candlepin candlepin_database],
159
159
  'candlepin' => %w[candlepin candlepin_database],
160
- 'pulp_auth' => %w[pulp2 mongo],
161
- 'pulp' => %w[pulp2 mongo],
162
160
  'pulp3' => %w[pulpcore pulpcore_database],
163
161
  'pulp3_content' => %w[pulpcore pulpcore_database],
164
162
  'foreman_tasks' => %w[foreman_tasks],
165
163
  'katello_agent' => %w[katello],
166
- 'katello_events' => %w[katello]
164
+ 'katello_events' => %w[katello],
167
165
  }
168
166
  end
169
167
 
@@ -10,7 +10,7 @@ class Features::Katello < ForemanMaintain::Feature
10
10
  end
11
11
 
12
12
  def data_dirs
13
- @dirs ||= ['/var/lib/pulp', '/var/lib/mongodb', '/var/lib/pgsql']
13
+ @dirs ||= ['/var/lib/pulp', '/var/lib/pgsql']
14
14
  end
15
15
 
16
16
  def current_version
@@ -18,14 +18,10 @@ class Features::Katello < ForemanMaintain::Feature
18
18
  end
19
19
 
20
20
  def services
21
- if feature(:pulp2)
22
- []
23
- else
24
- [
25
- system_service('qpidd', 10),
26
- system_service('qdrouterd', 10)
27
- ]
28
- end
21
+ [
22
+ system_service('qpidd', 10),
23
+ system_service('qdrouterd', 10),
24
+ ]
29
25
  end
30
26
 
31
27
  # rubocop:disable Metrics/MethodLength
@@ -43,7 +39,7 @@ class Features::Katello < ForemanMaintain::Feature
43
39
  '/etc/qpid',
44
40
  '/etc/qpid-dispatch',
45
41
  '/var/lib/qpidd',
46
- '/etc/qpid-dispatch'
42
+ '/etc/qpid-dispatch',
47
43
  ]
48
44
 
49
45
  if installer_scenario_answers['certs']
@@ -51,7 +47,7 @@ class Features::Katello < ForemanMaintain::Feature
51
47
  installer_scenario_answers['certs']['server_cert'],
52
48
  installer_scenario_answers['certs']['server_key'],
53
49
  installer_scenario_answers['certs']['server_cert_req'],
54
- installer_scenario_answers['certs']['server_ca_cert']
50
+ installer_scenario_answers['certs']['server_ca_cert'],
55
51
  ].compact
56
52
  end
57
53
 
@@ -62,7 +58,7 @@ class Features::Katello < ForemanMaintain::Feature
62
58
  def config_files_exclude_for_online
63
59
  [
64
60
  '/var/lib/qpidd',
65
- '/var/lib/candlepin/activemq-artemis'
61
+ '/var/lib/candlepin/activemq-artemis',
66
62
  ]
67
63
  end
68
64
 
@@ -1,6 +1,8 @@
1
1
  require 'foreman_maintain/utils/service/systemd'
2
2
 
3
3
  class Features::Pulpcore < ForemanMaintain::Feature
4
+ include ForemanMaintain::Concerns::PulpCommon
5
+
4
6
  metadata do
5
7
  label :pulpcore
6
8
 
@@ -30,21 +32,21 @@ class Features::Pulpcore < ForemanMaintain::Feature
30
32
  ForemanMaintain::Utils.system_service('pulpcore-worker@1', 20),
31
33
  ForemanMaintain::Utils.system_service('pulpcore-worker@2', 20),
32
34
  ForemanMaintain::Utils.system_service('pulpcore-worker@3', 20),
33
- ForemanMaintain::Utils.system_service('pulpcore-worker@4', 20)
35
+ ForemanMaintain::Utils.system_service('pulpcore-worker@4', 20),
34
36
  ]
35
37
  end
36
38
 
37
39
  def config_files
38
40
  [
39
41
  '/etc/pulp/settings.py',
40
- '/etc/pulp/certs/database_fields.symmetric.key'
42
+ '/etc/pulp/certs/database_fields.symmetric.key',
41
43
  ]
42
44
  end
43
45
 
44
46
  def self.pulpcore_common_services
45
47
  common_services = [
46
48
  ForemanMaintain::Utils.system_service('pulpcore-api', 10, :socket => 'pulpcore-api'),
47
- ForemanMaintain::Utils.system_service('pulpcore-content', 10, :socket => 'pulpcore-content')
49
+ ForemanMaintain::Utils.system_service('pulpcore-content', 10, :socket => 'pulpcore-content'),
48
50
  ]
49
51
  common_services + pulpcore_resource_manager_service
50
52
  end
@@ -20,12 +20,13 @@ class Features::PulpcoreDatabase < ForemanMaintain::Feature
20
20
  def services
21
21
  [
22
22
  system_service('postgresql', 10, :component => 'pulpcore',
23
- :db_feature => feature(:pulpcore_database))
23
+ :db_feature => feature(:pulpcore_database)),
24
24
  ]
25
25
  end
26
26
 
27
27
  private
28
28
 
29
+ # rubocop:disable Metrics/AbcSize
29
30
  def load_configuration
30
31
  full_config = File.read(PULPCORE_DB_CONFIG).split(/[\s,'":]/).reject(&:empty?)
31
32
 
@@ -38,4 +39,5 @@ class Features::PulpcoreDatabase < ForemanMaintain::Feature
38
39
  @configuration['password'] = full_config[full_config.index('PASSWORD') + 1]
39
40
  @configuration
40
41
  end
42
+ # rubocop:enable Metrics/AbcSize
41
43
  end
@@ -15,7 +15,7 @@ class Features::PuppetServer < ForemanMaintain::Feature
15
15
  '/var/lib/puppet/ssl',
16
16
  '/var/lib/puppet',
17
17
  '/usr/share/ruby/vendor_ruby/puppet/reports/foreman.rb',
18
- '/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/foreman.rb'
18
+ '/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/foreman.rb',
19
19
  ]
20
20
  end
21
21
 
@@ -13,28 +13,12 @@ class Features::Redis < ForemanMaintain::Feature
13
13
  end
14
14
 
15
15
  def config_files
16
- %w[redis redis.conf].map { |config| File.join(self.class.etc_prefix, config) }
16
+ %w[redis redis.conf].map { |config| File.join('/etc', config) }
17
17
  end
18
18
 
19
19
  class << self
20
- SCL_NAME = 'rh-redis5'.freeze
21
-
22
- def etc_prefix
23
- if el7?
24
- "/etc/opt/rh/#{SCL_NAME}"
25
- else
26
- '/etc'
27
- end
28
- end
29
-
30
- def scl_prefix
31
- if el7?
32
- "#{SCL_NAME}-"
33
- end
34
- end
35
-
36
20
  def service_name
37
- "#{scl_prefix}redis"
21
+ 'redis'
38
22
  end
39
23
  end
40
24
  end
@@ -10,7 +10,7 @@ class Features::SaltServer < ForemanMaintain::Feature
10
10
 
11
11
  def config_files
12
12
  [
13
- '/etc/salt'
13
+ '/etc/salt',
14
14
  ]
15
15
  end
16
16
 
@@ -8,16 +8,11 @@ class Features::Service < ForemanMaintain::Feature
8
8
  # { :only => ["httpd"] }
9
9
  # { :exclude => ["pulp-workers", "tomcat"] }
10
10
  # { :include => ["crond"] }
11
- if feature(:instance).downstream && feature(:instance).downstream.less_than_version?('6.3')
12
- use_katello_service(action, options)
13
- else
14
- use_system_service(action, options, spinner)
15
- end
11
+ use_system_service(action, options, spinner)
16
12
  end
17
13
 
18
14
  def existing_services
19
- ForemanMaintain.available_features.map(&:services).
20
- flatten(1).
15
+ ForemanMaintain.available_features.flat_map(&:services).
21
16
  sort.
22
17
  inject([]) do |pool, service| # uniq(&:to_s) for ruby 1.8.7
23
18
  pool.last.nil? || !pool.last.matches?(service) ? pool << service : pool
@@ -130,16 +125,15 @@ class Features::Service < ForemanMaintain::Feature
130
125
  service_list + socket_list
131
126
  end
132
127
 
133
- # rubocop:disable Metrics/AbcSize
134
128
  def filter_services(service_list, options, action)
135
- if options[:only] && options[:only].any?
129
+ if options[:only]&.any?
136
130
  service_list = service_list.select do |service|
137
131
  options[:only].any? { |opt| service.matches?(opt) }
138
132
  end
139
133
  service_list = include_unregistered_services(service_list, options[:only])
140
134
  end
141
135
 
142
- if options[:exclude] && options[:exclude].any?
136
+ if options[:exclude]&.any?
143
137
  service_list = service_list.reject { |service| options[:exclude].include?(service.name) }
144
138
  end
145
139
 
@@ -147,7 +141,6 @@ class Features::Service < ForemanMaintain::Feature
147
141
  service_list = filter_disabled_services!(action, service_list)
148
142
  service_list.group_by(&:priority).to_h
149
143
  end
150
- # rubocop:enable Metrics/AbcSize
151
144
 
152
145
  def include_unregistered_services(service_list, services_filter)
153
146
  return service_list unless services_filter
@@ -183,44 +176,7 @@ class Features::Service < ForemanMaintain::Feature
183
176
  end
184
177
  end
185
178
 
186
- def use_katello_service(action, options)
187
- if %w[enable disable].include?(action)
188
- raise 'Service enable and disable are only supported in Satellite 6.3+'
189
- end
190
-
191
- command = "katello-service #{action} "
192
-
193
- # katello-service in 6.1 does not support --only
194
- if feature(:instance).downstream.less_than_version?('6.2')
195
- excluded_services = exclude_services_only(options)
196
- command += "--exclude #{excluded_services.join(',')}" if excluded_services.any?
197
- else
198
- command += katello_service_filters(options)
199
- end
200
-
201
- run_katello_service(command)
202
- end
203
-
204
- def run_katello_service(command)
205
- puts "Services are handled by katello-service in Satellite versions 6.2 and earlier. \n" \
206
- "Flags --brief or --failing will be ignored if present. \n"\
207
- "Similarly, services that are not listed by katello-service will get ignored. \n"\
208
- "Redirecting to: \n#{command}\n"
209
- puts execute(command)
210
- end
211
-
212
179
  def exclude_services_only(options)
213
180
  existing_services - filtered_services(options)
214
181
  end
215
-
216
- def katello_service_filters(options)
217
- filters = ''
218
- if options[:exclude] && options[:exclude].any?
219
- filters += "--exclude #{options[:exclude].join(',')}"
220
- end
221
- if options[:only] && options[:only].any?
222
- filters += "--only #{options[:only].join(',')}"
223
- end
224
- filters
225
- end
226
182
  end
@@ -48,12 +48,12 @@ class Features::SyncPlans < ForemanMaintain::Feature
48
48
  if @data[:enabled] && key_empty?(:disabled)
49
49
  [
50
50
  'sync plans: enabled',
51
- mode_on ? [Procedures::SyncPlans::Disable.new] : []
51
+ mode_on ? [Procedures::SyncPlans::Disable.new] : [],
52
52
  ]
53
53
  else
54
54
  [
55
55
  'sync plans: disabled',
56
- mode_on ? [] : [Procedures::SyncPlans::Enable.new]
56
+ mode_on ? [] : [Procedures::SyncPlans::Enable.new],
57
57
  ]
58
58
  end
59
59
  end
@@ -29,13 +29,13 @@ class Features::Tar < ForemanMaintain::Feature
29
29
  def validate_volume_size(size)
30
30
  if size.nil? || size !~ /^\d+[bBcGKkMPTw]?$/
31
31
  raise ForemanMaintain::Error::Validation,
32
- "Please specify size according to 'tar --tape-length' format."
32
+ "Please specify size according to 'tar --tape-length' format."
33
33
  end
34
34
  true
35
35
  end
36
36
 
37
37
  # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
38
- # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
38
+ # rubocop:disable Metrics/CyclomaticComplexity
39
39
  def tar_command(options)
40
40
  volume_size = options.fetch(:volume_size, nil)
41
41
  absolute_names = options.fetch(:absolute_names, nil)
@@ -43,6 +43,7 @@ class Features::Tar < ForemanMaintain::Feature
43
43
 
44
44
  tar_command = ['tar']
45
45
  tar_command << '--selinux'
46
+ tar_command << '--no-check-device'
46
47
  tar_command << "--#{options.fetch(:command, 'create')}"
47
48
  tar_command << "--file=#{options.fetch(:archive)}"
48
49
 
@@ -81,7 +82,7 @@ class Features::Tar < ForemanMaintain::Feature
81
82
  tar_command.join(' ')
82
83
  end
83
84
  # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
84
- # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
85
+ # rubocop:enable Metrics/CyclomaticComplexity
85
86
 
86
87
  private
87
88
 
@@ -8,7 +8,6 @@ module Procedures::Backup
8
8
 
9
9
  def run
10
10
  compress_file('pgsql_data.tar', 'Postgres DB')
11
- compress_file('mongo_data.tar', 'Mongo DB')
12
11
  end
13
12
 
14
13
  private
@@ -14,14 +14,13 @@ module Procedures::Backup
14
14
 
15
15
  param :backup_dir, 'Directory where to backup to', :required => true
16
16
  param :proxy_features, 'List of proxy features to backup (default: all)',
17
- :array => true, :default => ['all']
17
+ :array => true, :default => ['all']
18
18
  param :ignore_changed_files, 'Should packing tar ignore changed files',
19
- :flag => true, :default => false
19
+ :flag => true, :default => false
20
20
  param :online_backup, 'The config files are being prepared for an online backup',
21
- :flag => true, :default => false
21
+ :flag => true, :default => false
22
22
  end
23
23
 
24
- # rubocop:disable Metrics/MethodLength
25
24
  def run
26
25
  logger.debug("Invoking tar from #{FileUtils.pwd}")
27
26
  tar_cmd = tar_command
@@ -63,9 +62,11 @@ module Procedures::Backup
63
62
  def available_features_config
64
63
  configs = []
65
64
  exclude_configs = []
65
+ proxy_scenarios = [:foreman_proxy, :capsule]
66
+
66
67
  ForemanMaintain.available_features.each do |feature|
67
68
  # exclude proxy as it has special handling later
68
- next if [:foreman_proxy, :capsule].include?(feature.label)
69
+ next if proxy_scenarios.include?(feature.label)
69
70
 
70
71
  configs += feature.config_files
71
72
  exclude_configs += feature.config_files_to_exclude
@@ -8,7 +8,6 @@ module Procedures::Backup
8
8
  param :incremental_dir, 'Changes since specified backup only'
9
9
  end
10
10
 
11
- # rubocop:disable Metrics/MethodLength
12
11
  def run
13
12
  puts "Creating backup folder #{@backup_dir}"
14
13
 
@@ -31,6 +30,5 @@ module Procedures::Backup
31
30
  end
32
31
  end
33
32
  end
34
- # rubocop:enable Metrics/MethodLength
35
33
  end
36
34
  end
@@ -10,7 +10,7 @@ module Procedures::Backup
10
10
  param :mount_dir, 'Snapshot mount directory'
11
11
 
12
12
  confine do
13
- feature(:pulp2) || feature(:pulpcore_database)
13
+ feature(:pulpcore_database)
14
14
  end
15
15
  end
16
16
 
@@ -30,7 +30,7 @@ module Procedures::Backup
30
30
  private
31
31
 
32
32
  def any_pulp_feature
33
- feature(:pulp2) || feature(:pulpcore_database)
33
+ feature(:pulpcore_database)
34
34
  end
35
35
 
36
36
  def pulp_backup
@@ -52,7 +52,7 @@ module Procedures::Backup
52
52
  dir = any_pulp_feature.find_marked_directory(mount_point)
53
53
  unless dir
54
54
  raise ForemanMaintain::Error::Fail,
55
- "Pulp base directory not found in the mount point (#{mount_point})"
55
+ "Pulp base directory not found in the mount point (#{mount_point})"
56
56
  end
57
57
  dir
58
58
  end
@@ -8,7 +8,7 @@ module Procedures::Backup
8
8
  end
9
9
 
10
10
  def run
11
- %w[pulp mongodb pgsql].each do |database|
11
+ %w[pulp pgsql].each do |database|
12
12
  mount_point = File.join(@mount_dir, database)
13
13
 
14
14
  if File.exist?(mount_point) && !execute("mount|grep #{mount_point}").empty?
@@ -23,12 +23,11 @@ module Procedures::Backup
23
23
  end
24
24
 
25
25
  def current_pulp_feature
26
- feature(:pulp2) || feature(:pulpcore_database)
26
+ feature(:pulpcore_database)
27
27
  end
28
28
 
29
29
  def dbs
30
30
  dbs = {}
31
- dbs[:mongo] = 'Mongo' if db_local?(:mongo)
32
31
  dbs[:candlepin_database] = 'Candlepin' if db_local?(:candlepin_database)
33
32
  dbs[:foreman_database] = 'Foreman' if db_local?(:foreman_database)
34
33
  dbs[:pulpcore_database] = 'Pulpcore' if db_local?(:pulpcore_database)
@@ -8,7 +8,7 @@ module Procedures::Backup
8
8
  MountBase.common_params(self)
9
9
  param :skip, 'Skip Pulp content during backup'
10
10
  confine do
11
- feature(:pulp2) || feature(:pulpcore_database)
11
+ feature(:pulpcore_database)
12
12
  end
13
13
  end
14
14
 
@@ -25,7 +25,7 @@ module Procedures::Backup
25
25
  end
26
26
 
27
27
  def current_pulp_feature
28
- feature(:pulp2) || feature(:pulpcore_database)
28
+ feature(:pulpcore_database)
29
29
  end
30
30
  end
31
31
  end
@@ -36,9 +36,9 @@ module Procedures::Foreman
36
36
 
37
37
  def update_records(set)
38
38
  new_filter = create_filter set.first['role_id'],
39
- set.first['search'],
40
- set.first['taxonomy_search'],
41
- set.first['override']
39
+ set.first['search'],
40
+ set.first['taxonomy_search'],
41
+ set.first['override']
42
42
  set.each do |item|
43
43
  destroy_filtering item
44
44
  next if !new_filter || new_filter.empty?