foreman_maintain 0.1.6 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|