foreman_maintain 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +48 -10
- data/bin/foreman-maintain-rotate-tar +18 -0
- data/definitions/checks/backup/certs_tar_exist.rb +24 -0
- data/definitions/checks/backup/directory_ready.rb +21 -0
- data/definitions/checks/candlepin/db_up.rb +29 -0
- data/definitions/checks/check_epel_repository.rb +21 -0
- data/definitions/checks/foreman/db_up.rb +29 -0
- data/definitions/checks/hammer_ping.rb +3 -1
- data/definitions/checks/mongo/db_up.rb +29 -0
- data/definitions/checks/mongo/tools_installed.rb +31 -0
- data/definitions/checks/repositories/validate.rb +0 -3
- data/definitions/checks/root_user.rb +12 -0
- data/definitions/features/candlepin.rb +16 -0
- data/definitions/features/candlepin_database.rb +3 -1
- data/definitions/features/downstream.rb +21 -22
- data/definitions/features/foreman_database.rb +2 -0
- data/definitions/features/foreman_proxy.rb +70 -7
- data/definitions/features/foreman_server.rb +29 -0
- data/definitions/features/foreman_tasks.rb +5 -1
- data/definitions/features/hammer.rb +158 -3
- data/definitions/features/installer.rb +106 -0
- data/definitions/features/instance.rb +39 -0
- data/definitions/features/katello.rb +43 -0
- data/definitions/features/mongo.rb +159 -0
- data/definitions/features/pulp.rb +30 -0
- data/definitions/features/puppet.rb +21 -0
- data/definitions/features/puppet_server.rb +2 -6
- data/definitions/features/service.rb +134 -0
- data/definitions/features/sync_plans.rb +1 -1
- data/definitions/features/tar.rb +69 -0
- data/definitions/procedures/backup/accessibility_confirmation.rb +14 -0
- data/definitions/procedures/backup/clean.rb +16 -0
- data/definitions/procedures/backup/compress_data.rb +26 -0
- data/definitions/procedures/backup/config_files.rb +36 -0
- data/definitions/procedures/backup/metadata.rb +56 -0
- data/definitions/procedures/backup/offline/candlepin_db.rb +57 -0
- data/definitions/procedures/backup/offline/foreman_db.rb +57 -0
- data/definitions/procedures/backup/offline/mongo.rb +56 -0
- data/definitions/procedures/backup/online/candlepin_db.rb +20 -0
- data/definitions/procedures/backup/online/foreman_db.rb +20 -0
- data/definitions/procedures/backup/online/mongo.rb +21 -0
- data/definitions/procedures/backup/online/pg_global_objects.rb +23 -0
- data/definitions/procedures/backup/online/safety_confirmation.rb +25 -0
- data/definitions/procedures/backup/prepare_directory.rb +29 -0
- data/definitions/procedures/backup/pulp.rb +68 -0
- data/definitions/procedures/backup/snapshot/clean_mount.rb +24 -0
- data/definitions/procedures/backup/snapshot/logical_volume_confirmation.rb +47 -0
- data/definitions/procedures/backup/snapshot/mount_base.rb +27 -0
- data/definitions/procedures/backup/snapshot/mount_candlepin_db.rb +48 -0
- data/definitions/procedures/backup/snapshot/mount_foreman_db.rb +48 -0
- data/definitions/procedures/backup/snapshot/mount_mongo.rb +35 -0
- data/definitions/procedures/backup/snapshot/mount_pulp.rb +24 -0
- data/definitions/procedures/backup/snapshot/prepare_mount.rb +16 -0
- data/definitions/procedures/foreman_tasks/fetch_tasks_status.rb +1 -0
- data/definitions/procedures/hammer_setup.rb +4 -39
- data/definitions/procedures/installer/upgrade.rb +1 -21
- data/definitions/procedures/repositories/setup.rb +0 -4
- data/definitions/procedures/service/base.rb +31 -0
- data/definitions/procedures/service/disable.rb +14 -0
- data/definitions/procedures/service/enable.rb +14 -0
- data/definitions/procedures/service/list.rb +26 -0
- data/definitions/procedures/service/restart.rb +49 -0
- data/definitions/procedures/service/start.rb +14 -0
- data/definitions/procedures/service/status.rb +14 -0
- data/definitions/procedures/service/stop.rb +14 -0
- data/definitions/scenarios/backup.rb +242 -0
- data/definitions/scenarios/services.rb +156 -0
- data/definitions/scenarios/upgrade_to_satellite_6_2.rb +2 -2
- data/definitions/scenarios/upgrade_to_satellite_6_2_z.rb +2 -2
- data/definitions/scenarios/upgrade_to_satellite_6_3.rb +2 -2
- data/definitions/scenarios/upgrade_to_satellite_6_3_z.rb +2 -2
- data/definitions/scenarios/upgrade_to_satellite_6_4.rb +79 -0
- data/definitions/scenarios/upgrade_to_satellite_6_4_z.rb +79 -0
- data/lib/foreman_maintain.rb +5 -0
- data/lib/foreman_maintain/cli.rb +4 -0
- data/lib/foreman_maintain/cli/backup_command.rb +157 -0
- data/lib/foreman_maintain/cli/base.rb +18 -8
- data/lib/foreman_maintain/cli/service_command.rb +112 -0
- data/lib/foreman_maintain/cli/transform_clamp_options.rb +1 -1
- data/lib/foreman_maintain/concerns/base_database.rb +57 -5
- data/lib/foreman_maintain/concerns/hammer.rb +0 -9
- data/lib/foreman_maintain/concerns/metadata.rb +3 -1
- data/lib/foreman_maintain/concerns/reporter.rb +12 -0
- data/lib/foreman_maintain/concerns/system_helpers.rb +45 -2
- data/lib/foreman_maintain/detector.rb +3 -3
- data/lib/foreman_maintain/error.rb +12 -0
- data/lib/foreman_maintain/executable.rb +29 -6
- data/lib/foreman_maintain/feature.rb +15 -0
- data/lib/foreman_maintain/param.rb +4 -3
- data/lib/foreman_maintain/reporter.rb +6 -2
- data/lib/foreman_maintain/reporter/cli_reporter.rb +26 -10
- data/lib/foreman_maintain/runner.rb +26 -15
- data/lib/foreman_maintain/runner/execution.rb +5 -1
- data/lib/foreman_maintain/scenario.rb +11 -3
- data/lib/foreman_maintain/upgrade_runner.rb +0 -2
- data/lib/foreman_maintain/utils.rb +2 -2
- data/lib/foreman_maintain/utils/command_runner.rb +0 -2
- data/lib/foreman_maintain/utils/hash_tools.rb +21 -0
- data/lib/foreman_maintain/utils/mongo_core.rb +37 -0
- data/lib/foreman_maintain/version.rb +1 -1
- metadata +58 -8
- data/definitions/features/katello_service.rb +0 -118
- data/definitions/procedures/katello_service/restart.rb +0 -24
- data/definitions/procedures/katello_service/start.rb +0 -19
- data/definitions/procedures/katello_service/stop.rb +0 -17
- data/lib/foreman_maintain/utils/facter.rb +0 -21
- data/lib/foreman_maintain/utils/hammer.rb +0 -79
@@ -1,79 +0,0 @@
|
|
1
|
-
module ForemanMaintain
|
2
|
-
module Utils
|
3
|
-
class Hammer
|
4
|
-
class CredentialsError < RuntimeError
|
5
|
-
end
|
6
|
-
include Concerns::SystemHelpers
|
7
|
-
|
8
|
-
attr_reader :settings
|
9
|
-
|
10
|
-
def self.instance
|
11
|
-
@instance ||= new
|
12
|
-
end
|
13
|
-
|
14
|
-
def config_file
|
15
|
-
config_dir = File.dirname(ForemanMaintain.config_file)
|
16
|
-
File.join(config_dir, 'foreman-maintain-hammer.yml')
|
17
|
-
end
|
18
|
-
|
19
|
-
# tries to setup hammer based on default configuration and returns true
|
20
|
-
# if it succeeds
|
21
|
-
# rubocop:disable Metrics/AbcSize
|
22
|
-
def setup_from_default
|
23
|
-
return unless File.exist?(default_config_file)
|
24
|
-
hammer_config = YAML.load_file(default_config_file)
|
25
|
-
foreman_config = hammer_config.fetch(:foreman, {})
|
26
|
-
if !foreman_config[:username].to_s.empty? && !foreman_config[:password].to_s.empty?
|
27
|
-
save_config(hammer_config)
|
28
|
-
ready? && default_config_file
|
29
|
-
end
|
30
|
-
end
|
31
|
-
# rubocop:enable Metrics/AbcSize
|
32
|
-
|
33
|
-
def setup_from_answers(username = nil, password = nil)
|
34
|
-
save_config(:foreman => { :username => username, :password => password })
|
35
|
-
ready?
|
36
|
-
end
|
37
|
-
|
38
|
-
# Run a hammer command, examples:
|
39
|
-
# run_command('host list')
|
40
|
-
def run_command(args)
|
41
|
-
output = execute("#{command_base} #{args}")
|
42
|
-
if output =~ /Invalid username or password/
|
43
|
-
raise CredentialsError, 'Invalid hammer credentials: '\
|
44
|
-
'we expect the hammer username/password to be stored'\
|
45
|
-
"in #{config_file}"
|
46
|
-
end
|
47
|
-
output
|
48
|
-
end
|
49
|
-
|
50
|
-
def configured?
|
51
|
-
File.exist?(config_file)
|
52
|
-
end
|
53
|
-
|
54
|
-
def ready?
|
55
|
-
return @ready if defined? @ready
|
56
|
-
return false unless configured?
|
57
|
-
run_command('architecture list')
|
58
|
-
@ready = true
|
59
|
-
rescue CredentialsError
|
60
|
-
@ready = false
|
61
|
-
end
|
62
|
-
|
63
|
-
private
|
64
|
-
|
65
|
-
def default_config_file
|
66
|
-
@default_config_file ||= File.expand_path('~/.hammer/cli.modules.d/foreman.yml')
|
67
|
-
end
|
68
|
-
|
69
|
-
def command_base
|
70
|
-
%(LANG=en_US.utf-8 hammer -c "#{config_file}" --interactive=no)
|
71
|
-
end
|
72
|
-
|
73
|
-
def save_config(config)
|
74
|
-
remove_instance_variable '@ready' if defined? @ready
|
75
|
-
File.open(config_file, 'w', 0o600) { |f| f.puts YAML.dump(config) }
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|