foreman_maintain 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/definitions/checks/foreman/facts_names.rb +32 -0
- data/definitions/checks/original_assets.rb +1 -1
- data/definitions/checks/version_locking_enabled.rb +1 -1
- data/definitions/features/capsule.rb +2 -2
- data/definitions/features/foreman_tasks.rb +1 -1
- data/definitions/features/katello.rb +5 -1
- data/definitions/features/pulp.rb +1 -5
- data/definitions/features/satellite.rb +1 -1
- data/definitions/procedures/foreman/fix_corrupted_roles.rb +0 -1
- data/definitions/procedures/foreman_openscap/invalid_report_associations.rb +1 -1
- data/definitions/procedures/knowledge_base_article.rb +2 -1
- data/definitions/procedures/packages/enable_version_locking.rb +1 -1
- data/definitions/procedures/packages/lock_versions.rb +1 -2
- data/definitions/procedures/packages/locking_status.rb +1 -2
- data/definitions/procedures/packages/unlock_versions.rb +1 -2
- data/definitions/procedures/packages/update.rb +1 -1
- data/extras/foreman_protector/foreman-protector.whitelist +1 -0
- data/lib/foreman_maintain.rb +1 -1
- data/lib/foreman_maintain/cli/packages_command.rb +1 -1
- data/lib/foreman_maintain/concerns/system_helpers.rb +8 -4
- data/lib/foreman_maintain/package_manager.rb +13 -0
- data/lib/foreman_maintain/version.rb +1 -1
- metadata +162 -162
- data/definitions/features/package_manager.rb +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f6e19430df61e831c0b087072cd4fa46d38b143f
|
4
|
+
data.tar.gz: 04d04513790799fca35bfcea19537ab11d14b088
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa8232f3c26bfb1409c45d211e91e5163675820df97692d4250f8bfe8d9cffc3a7c0b3dca910e594ba46dc7aa162dbcc4df1ea4d45cf10cc86151d2c9a266799
|
7
|
+
data.tar.gz: cdfb28627937100f36d9b89afd434ed9b046168c8bc9c9885cb97a5109b5f541dbf2fa94d122488212c956bbd4ca59fe5c2d7caf8994f01eb1a9196771fcc3d6
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Checks
|
2
|
+
module Foreman
|
3
|
+
class FactsNames < ForemanMaintain::Check
|
4
|
+
metadata do
|
5
|
+
label :foreman_fact_names
|
6
|
+
tags :default
|
7
|
+
confine do
|
8
|
+
feature(:foreman_database)
|
9
|
+
end
|
10
|
+
description 'Check number of fact names in database'
|
11
|
+
end
|
12
|
+
|
13
|
+
def run
|
14
|
+
max = 10_000
|
15
|
+
sql = <<-SQL
|
16
|
+
select fact_values.host_id, count(fact_values.id) from fact_values
|
17
|
+
group by fact_values.host_id order by count desc limit 1
|
18
|
+
SQL
|
19
|
+
result = feature(:foreman_database).query(sql).first
|
20
|
+
if result
|
21
|
+
host_id = result['host_id']
|
22
|
+
count = result['count'].to_i
|
23
|
+
assert(count < max,
|
24
|
+
"Host (ID #{host_id}) has #{count} fact values which is more than #{max}.\n" \
|
25
|
+
'This can cause slow fact processing.',
|
26
|
+
:warn => true,
|
27
|
+
:next_steps => [Procedures::KnowledgeBaseArticle.new(:doc => 'many_fact_values')])
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -10,7 +10,7 @@ class Checks::OriginalAssets < ForemanMaintain::Check
|
|
10
10
|
custom_assets = []
|
11
11
|
product_name = feature(:instance).product_name
|
12
12
|
with_spinner('Checking for presence of non-original assets...') do
|
13
|
-
custom_assets =
|
13
|
+
custom_assets = package_manager.files_not_owned_by_package(ASSETS_DIR)
|
14
14
|
logger.info("Non-original assets detected:\n" + custom_assets.join("\n"))
|
15
15
|
end
|
16
16
|
remove_files = Procedures::Files::Remove.new(:files => custom_assets, :assumeyes => true)
|
@@ -5,7 +5,7 @@ module Checks
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def run
|
8
|
-
enabled =
|
8
|
+
enabled = package_manager.version_locking_enabled?
|
9
9
|
enable_locking = Procedures::Packages::EnableVersionLocking.new(:assumeyes => assumeyes?)
|
10
10
|
assert(enabled, 'Tools for package version locking are not available on this system',
|
11
11
|
:next_steps => enable_locking)
|
@@ -5,8 +5,8 @@ class Features::Capsule < ForemanMaintain::Feature
|
|
5
5
|
label :capsule
|
6
6
|
|
7
7
|
confine do
|
8
|
-
|
9
|
-
|
8
|
+
package_manager.installed?(['satellite-capsule']) ||
|
9
|
+
package_manager.installed?(['capsule-installer'])
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -55,7 +55,7 @@ class Features::ForemanTasks < ForemanMaintain::Feature
|
|
55
55
|
sql = <<-SQL
|
56
56
|
SELECT count(*) AS count
|
57
57
|
FROM foreman_tasks_tasks
|
58
|
-
WHERE state IN ('paused')
|
58
|
+
WHERE state IN ('paused') AND result IN ('error')
|
59
59
|
SQL
|
60
60
|
unless ignored_tasks.empty?
|
61
61
|
sql << "AND label NOT IN (#{quotize(ignored_tasks)})"
|
@@ -32,7 +32,11 @@ class Features::Katello < ForemanMaintain::Feature
|
|
32
32
|
'/etc/sysconfig/tomcat*',
|
33
33
|
'/etc/tomcat*',
|
34
34
|
'/var/lib/candlepin',
|
35
|
-
'/usr/share/foreman/bundler.d/katello.rb'
|
35
|
+
'/usr/share/foreman/bundler.d/katello.rb',
|
36
|
+
'/etc/qpid',
|
37
|
+
'/etc/qpid-dispatch',
|
38
|
+
'/var/lib/qpidd',
|
39
|
+
'/etc/qpid-dispatch'
|
36
40
|
]
|
37
41
|
|
38
42
|
if installer_scenario_answers['certs']
|
@@ -30,12 +30,8 @@ class Features::Pulp < ForemanMaintain::Feature
|
|
30
30
|
[
|
31
31
|
'/etc/pki/pulp',
|
32
32
|
'/etc/pulp',
|
33
|
-
'/etc/qpid',
|
34
|
-
'/etc/qpid-dispatch',
|
35
33
|
'/etc/crane.conf',
|
36
|
-
'/etc/default/pulp_workers'
|
37
|
-
'/var/lib/qpidd',
|
38
|
-
'/etc/qpid-dispatch'
|
34
|
+
'/etc/default/pulp_workers'
|
39
35
|
]
|
40
36
|
end
|
41
37
|
end
|
@@ -2,7 +2,6 @@ module Procedures::Foreman
|
|
2
2
|
class FixCorruptedRoles < ForemanMaintain::Procedure
|
3
3
|
metadata do
|
4
4
|
for_feature :foreman_database
|
5
|
-
tags :pre_migration
|
6
5
|
desc = 'Create additional filters so that each filter has only permissions of one resource'
|
7
6
|
description desc
|
8
7
|
confine do
|
@@ -3,7 +3,7 @@ module Procedures::ForemanOpenscap
|
|
3
3
|
metadata do
|
4
4
|
param :ids_to_remove, 'Ids of reports to remove', :required => true
|
5
5
|
for_feature :foreman_openscap
|
6
|
-
tags :
|
6
|
+
tags :foreman_openscap, :openscap_report_associations
|
7
7
|
advanced_run false
|
8
8
|
description 'Delete reports with association issues'
|
9
9
|
end
|
@@ -25,7 +25,8 @@ class Procedures::KnowledgeBaseArticle < ForemanMaintain::Procedure
|
|
25
25
|
{
|
26
26
|
'fix_cpdb_validate_failure' => 'https://access.redhat.com/solutions/3362821',
|
27
27
|
'fix_db_migrate_failure_on_duplicate_roles' => 'https://access.redhat.com/solutions/3998941',
|
28
|
-
'upgrade_puppet_guide_for_sat63' => 'https://access.redhat.com/documentation/en-us/red_hat_satellite/6.3/html/upgrading_and_updating_red_hat_satellite/upgrading_puppet-1'
|
28
|
+
'upgrade_puppet_guide_for_sat63' => 'https://access.redhat.com/documentation/en-us/red_hat_satellite/6.3/html/upgrading_and_updating_red_hat_satellite/upgrading_puppet-1',
|
29
|
+
'many_fact_values' => 'https://access.redhat.com/solutions/4163891'
|
29
30
|
}
|
30
31
|
end
|
31
32
|
end
|
@@ -1,13 +1,12 @@
|
|
1
1
|
module Procedures::Packages
|
2
2
|
class LockVersions < ForemanMaintain::Procedure
|
3
3
|
metadata do
|
4
|
-
for_feature :package_manager
|
5
4
|
description 'Lock packages'
|
6
5
|
preparation_steps { [Checks::VersionLockingEnabled.new] }
|
7
6
|
end
|
8
7
|
|
9
8
|
def run
|
10
|
-
|
9
|
+
package_manager.lock_versions
|
11
10
|
end
|
12
11
|
end
|
13
12
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Procedures::Packages
|
2
2
|
class LockingStatus < ForemanMaintain::Procedure
|
3
3
|
metadata do
|
4
|
-
for_feature :package_manager
|
5
4
|
description 'Check status of version locking of packages'
|
6
5
|
preparation_steps { [Checks::VersionLockingEnabled.new] }
|
7
6
|
end
|
@@ -14,7 +13,7 @@ module Procedures::Packages
|
|
14
13
|
private
|
15
14
|
|
16
15
|
def check_version_locked
|
17
|
-
if
|
16
|
+
if package_manager.versions_locked?
|
18
17
|
puts ' Packages are locked.'
|
19
18
|
else
|
20
19
|
puts ' Packages are not locked.'
|
@@ -1,13 +1,12 @@
|
|
1
1
|
module Procedures::Packages
|
2
2
|
class UnlockVersions < ForemanMaintain::Procedure
|
3
3
|
metadata do
|
4
|
-
for_feature :package_manager
|
5
4
|
description 'Unlock packages'
|
6
5
|
preparation_steps { [Checks::VersionLockingEnabled.new] }
|
7
6
|
end
|
8
7
|
|
9
8
|
def run
|
10
|
-
|
9
|
+
package_manager.unlock_versions
|
11
10
|
end
|
12
11
|
end
|
13
12
|
end
|
@@ -10,7 +10,7 @@ module Procedures::Packages
|
|
10
10
|
|
11
11
|
def run
|
12
12
|
assumeyes_val = @assumeyes.nil? ? assumeyes? : @assumeyes
|
13
|
-
|
13
|
+
package_manager.clean_cache
|
14
14
|
packages_action(:update, @packages, :assumeyes => assumeyes_val)
|
15
15
|
rescue ForemanMaintain::Error::ExecutionError => e
|
16
16
|
if @warn_on_errors
|
data/lib/foreman_maintain.rb
CHANGED
@@ -36,9 +36,9 @@ module ForemanMaintain
|
|
36
36
|
require 'foreman_maintain/runner'
|
37
37
|
require 'foreman_maintain/upgrade_runner'
|
38
38
|
require 'foreman_maintain/reporter'
|
39
|
+
require 'foreman_maintain/package_manager'
|
39
40
|
require 'foreman_maintain/utils'
|
40
41
|
require 'foreman_maintain/error'
|
41
|
-
require 'foreman_maintain/package_manager'
|
42
42
|
|
43
43
|
class << self
|
44
44
|
attr_accessor :config, :logger
|
@@ -53,7 +53,7 @@ module ForemanMaintain
|
|
53
53
|
subcommand 'is-locked', 'Check if update of packages is allowed' do
|
54
54
|
interactive_option
|
55
55
|
def execute
|
56
|
-
locked =
|
56
|
+
locked = ForemanMaintain.package_manager.versions_locked?
|
57
57
|
puts "Packages are#{locked ? '' : ' not'} locked"
|
58
58
|
exit_code = locked ? 0 : 1
|
59
59
|
exit exit_code
|
@@ -85,7 +85,7 @@ module ForemanMaintain
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def find_package(name)
|
88
|
-
|
88
|
+
package_manager.find_installed_package(name)
|
89
89
|
end
|
90
90
|
|
91
91
|
def hostname
|
@@ -100,11 +100,11 @@ module ForemanMaintain
|
|
100
100
|
options.validate_options!(:assumeyes)
|
101
101
|
case action
|
102
102
|
when :install
|
103
|
-
|
103
|
+
package_manager.install(packages, :assumeyes => options[:assumeyes])
|
104
104
|
when :update
|
105
|
-
|
105
|
+
package_manager.update(packages, :assumeyes => options[:assumeyes])
|
106
106
|
when :remove
|
107
|
-
|
107
|
+
package_manager.remove(packages, :assumeyes => options[:assumeyes])
|
108
108
|
else
|
109
109
|
raise ArgumentError, "Unexpected action #{action} expected #{expected_actions.inspect}"
|
110
110
|
end
|
@@ -178,6 +178,10 @@ module ForemanMaintain
|
|
178
178
|
result
|
179
179
|
end
|
180
180
|
|
181
|
+
def package_manager
|
182
|
+
ForemanMaintain.package_manager
|
183
|
+
end
|
184
|
+
|
181
185
|
private
|
182
186
|
|
183
187
|
def check_version(name)
|
@@ -1,3 +1,16 @@
|
|
1
1
|
require 'foreman_maintain/package_manager/base'
|
2
2
|
require 'foreman_maintain/package_manager/yum'
|
3
3
|
require 'foreman_maintain/package_manager/dnf'
|
4
|
+
|
5
|
+
module ForemanMaintain
|
6
|
+
def self.package_manager
|
7
|
+
@package_manager ||= case (%w[dnf yum apt].find { |manager| !`command -v #{manager}`.empty? })
|
8
|
+
when 'dnf'
|
9
|
+
ForemanMaintain::PackageManager::Dnf.new
|
10
|
+
when 'yum'
|
11
|
+
ForemanMaintain::PackageManager::Yum.new
|
12
|
+
else
|
13
|
+
raise 'No supported package manager was found'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,97 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_maintain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
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:
|
11
|
+
date: 2020-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clamp
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: highline
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.17'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.17'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mocha
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - <
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 11.0.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - <
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 11.0.0
|
97
97
|
description: Provides various features that helps keeping the Foreman/Satellite up
|
@@ -107,86 +107,156 @@ extra_rdoc_files:
|
|
107
107
|
- LICENSE
|
108
108
|
- README.md
|
109
109
|
files:
|
110
|
-
- LICENSE
|
111
|
-
- README.md
|
112
110
|
- bin/foreman-maintain
|
113
111
|
- bin/foreman-maintain-complete
|
114
112
|
- bin/foreman-maintain-rotate-tar
|
115
113
|
- bin/passenger-recycler
|
116
|
-
-
|
117
|
-
-
|
118
|
-
-
|
119
|
-
-
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
114
|
+
- lib/foreman_maintain/cli/health_command.rb
|
115
|
+
- lib/foreman_maintain/cli/maintenance_mode_command.rb
|
116
|
+
- lib/foreman_maintain/cli/restore_command.rb
|
117
|
+
- lib/foreman_maintain/cli/transform_clamp_options.rb
|
118
|
+
- lib/foreman_maintain/cli/upgrade_command.rb
|
119
|
+
- lib/foreman_maintain/cli/advanced_command.rb
|
120
|
+
- lib/foreman_maintain/cli/base.rb
|
121
|
+
- lib/foreman_maintain/cli/service_command.rb
|
122
|
+
- lib/foreman_maintain/cli/advanced/prebuild_bash_completion.rb
|
123
|
+
- lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb
|
124
|
+
- lib/foreman_maintain/cli/advanced/procedure/abstract_procedure_command.rb
|
125
|
+
- lib/foreman_maintain/cli/advanced/procedure/by_tag_command.rb
|
126
|
+
- lib/foreman_maintain/cli/advanced/procedure/run_command.rb
|
127
|
+
- lib/foreman_maintain/cli/advanced/procedure_command.rb
|
128
|
+
- lib/foreman_maintain/cli/backup_command.rb
|
129
|
+
- lib/foreman_maintain/cli/packages_command.rb
|
130
|
+
- lib/foreman_maintain/concerns/base_database.rb
|
131
|
+
- lib/foreman_maintain/concerns/directory_marker.rb
|
132
|
+
- lib/foreman_maintain/concerns/finders.rb
|
133
|
+
- lib/foreman_maintain/concerns/hammer.rb
|
134
|
+
- lib/foreman_maintain/concerns/metadata.rb
|
135
|
+
- lib/foreman_maintain/concerns/reporter.rb
|
136
|
+
- lib/foreman_maintain/concerns/scenario_metadata.rb
|
137
|
+
- lib/foreman_maintain/concerns/logger.rb
|
138
|
+
- lib/foreman_maintain/concerns/system_service.rb
|
139
|
+
- lib/foreman_maintain/concerns/downstream.rb
|
140
|
+
- lib/foreman_maintain/concerns/system_helpers.rb
|
141
|
+
- lib/foreman_maintain/reporter/cli_reporter.rb
|
142
|
+
- lib/foreman_maintain/runner/execution.rb
|
143
|
+
- lib/foreman_maintain/runner/stored_execution.rb
|
144
|
+
- lib/foreman_maintain/utils/disk/nil_device.rb
|
145
|
+
- lib/foreman_maintain/utils/disk/device.rb
|
146
|
+
- lib/foreman_maintain/utils/disk/stats.rb
|
147
|
+
- lib/foreman_maintain/utils/disk/io_device.rb
|
148
|
+
- lib/foreman_maintain/utils/curl_response.rb
|
149
|
+
- lib/foreman_maintain/utils/disk.rb
|
150
|
+
- lib/foreman_maintain/utils/facter.rb
|
151
|
+
- lib/foreman_maintain/utils/hash_tools.rb
|
152
|
+
- lib/foreman_maintain/utils/mongo_core.rb
|
153
|
+
- lib/foreman_maintain/utils/service.rb
|
154
|
+
- lib/foreman_maintain/utils/service/remote_db.rb
|
155
|
+
- lib/foreman_maintain/utils/service/abstract.rb
|
156
|
+
- lib/foreman_maintain/utils/service/systemd.rb
|
157
|
+
- lib/foreman_maintain/utils/system_helpers.rb
|
158
|
+
- lib/foreman_maintain/utils/backup.rb
|
159
|
+
- lib/foreman_maintain/utils/bash.rb
|
160
|
+
- lib/foreman_maintain/utils/command_runner.rb
|
161
|
+
- lib/foreman_maintain/utils/response.rb
|
162
|
+
- lib/foreman_maintain/procedure.rb
|
163
|
+
- lib/foreman_maintain/package_manager/dnf.rb
|
164
|
+
- lib/foreman_maintain/package_manager/base.rb
|
165
|
+
- lib/foreman_maintain/package_manager/yum.rb
|
166
|
+
- lib/foreman_maintain/cli.rb
|
167
|
+
- lib/foreman_maintain/version.rb
|
168
|
+
- lib/foreman_maintain/top_level_modules.rb
|
169
|
+
- lib/foreman_maintain/reporter.rb
|
170
|
+
- lib/foreman_maintain/yaml_storage.rb
|
171
|
+
- lib/foreman_maintain/scenario.rb
|
172
|
+
- lib/foreman_maintain/config.rb
|
173
|
+
- lib/foreman_maintain/runner.rb
|
174
|
+
- lib/foreman_maintain/utils.rb
|
175
|
+
- lib/foreman_maintain/check.rb
|
176
|
+
- lib/foreman_maintain/context.rb
|
177
|
+
- lib/foreman_maintain/core_ext.rb
|
178
|
+
- lib/foreman_maintain/csv_parser.rb
|
179
|
+
- lib/foreman_maintain/dependency_graph.rb
|
180
|
+
- lib/foreman_maintain/error.rb
|
181
|
+
- lib/foreman_maintain/executable.rb
|
182
|
+
- lib/foreman_maintain/param.rb
|
183
|
+
- lib/foreman_maintain/detector.rb
|
184
|
+
- lib/foreman_maintain/feature.rb
|
185
|
+
- lib/foreman_maintain/upgrade_runner.rb
|
186
|
+
- lib/foreman_maintain/package_manager.rb
|
187
|
+
- lib/foreman_maintain.rb
|
188
|
+
- definitions/checks/foreman_tasks/invalid/check_old.rb
|
189
|
+
- definitions/checks/foreman_tasks/invalid/check_pending_state.rb
|
190
|
+
- definitions/checks/foreman_tasks/invalid/check_planning_state.rb
|
191
|
+
- definitions/checks/foreman_tasks/not_running.rb
|
192
|
+
- definitions/checks/foreman_tasks/not_paused.rb
|
127
193
|
- definitions/checks/check_tmout.rb
|
128
194
|
- definitions/checks/disk/available_space.rb
|
129
195
|
- definitions/checks/disk/performance.rb
|
130
196
|
- definitions/checks/foreman/check_corrupted_roles.rb
|
131
|
-
- definitions/checks/foreman/check_duplicate_roles.rb
|
132
197
|
- definitions/checks/foreman/db_up.rb
|
133
198
|
- definitions/checks/foreman/puppet_class_duplicates.rb
|
199
|
+
- definitions/checks/foreman/check_duplicate_roles.rb
|
200
|
+
- definitions/checks/foreman/facts_names.rb
|
134
201
|
- definitions/checks/foreman_openscap/invalid_report_associations.rb
|
135
202
|
- definitions/checks/foreman_proxy/verify_dhcp_config_syntax.rb
|
136
|
-
- definitions/checks/foreman_tasks/invalid/check_old.rb
|
137
|
-
- definitions/checks/foreman_tasks/invalid/check_pending_state.rb
|
138
|
-
- definitions/checks/foreman_tasks/invalid/check_planning_state.rb
|
139
|
-
- definitions/checks/foreman_tasks/not_paused.rb
|
140
|
-
- definitions/checks/foreman_tasks/not_running.rb
|
141
203
|
- definitions/checks/maintenance_mode/check_consistency.rb
|
142
204
|
- definitions/checks/mongo/db_up.rb
|
143
205
|
- definitions/checks/mongo/tools_installed.rb
|
144
|
-
- definitions/checks/original_assets.rb
|
145
|
-
- definitions/checks/puppet/provide_upgrade_guide.rb
|
146
206
|
- definitions/checks/puppet/verify_no_empty_cacert_requests.rb
|
207
|
+
- definitions/checks/puppet/provide_upgrade_guide.rb
|
147
208
|
- definitions/checks/remote_execution/verify_settings_file_already_exists.rb
|
148
209
|
- definitions/checks/repositories/check_upstream_repository.rb
|
149
210
|
- definitions/checks/repositories/validate.rb
|
150
211
|
- definitions/checks/restore/validate_backup.rb
|
151
212
|
- definitions/checks/restore/validate_hostname.rb
|
152
213
|
- definitions/checks/root_user.rb
|
214
|
+
- definitions/checks/yum_exclude.rb
|
215
|
+
- definitions/checks/check_epel_repository.rb
|
216
|
+
- definitions/checks/check_hotfix_installed.rb
|
153
217
|
- definitions/checks/server_ping.rb
|
154
218
|
- definitions/checks/services_up.rb
|
155
219
|
- definitions/checks/system_registration.rb
|
220
|
+
- definitions/checks/original_assets.rb
|
156
221
|
- definitions/checks/version_locking_enabled.rb
|
157
|
-
- definitions/checks/
|
222
|
+
- definitions/checks/backup/directory_ready.rb
|
223
|
+
- definitions/checks/backup/certs_tar_exist.rb
|
224
|
+
- definitions/checks/candlepin/db_up.rb
|
225
|
+
- definitions/checks/candlepin/validate_db.rb
|
226
|
+
- definitions/features/foreman_1_11_x.rb
|
158
227
|
- definitions/features/candlepin.rb
|
159
228
|
- definitions/features/candlepin_database.rb
|
160
|
-
- definitions/features/capsule.rb
|
161
|
-
- definitions/features/cron.rb
|
162
|
-
- definitions/features/foreman_1_11_x.rb
|
163
|
-
- definitions/features/foreman_1_7_x.rb
|
164
229
|
- definitions/features/foreman_database.rb
|
165
230
|
- definitions/features/foreman_openscap.rb
|
166
|
-
- definitions/features/
|
167
|
-
- definitions/features/
|
231
|
+
- definitions/features/installer.rb
|
232
|
+
- definitions/features/capsule.rb
|
168
233
|
- definitions/features/foreman_tasks.rb
|
234
|
+
- definitions/features/foreman_1_7_x.rb
|
169
235
|
- definitions/features/gofer.rb
|
170
|
-
- definitions/features/hammer.rb
|
171
|
-
- definitions/features/installer.rb
|
172
|
-
- definitions/features/instance.rb
|
173
236
|
- definitions/features/iptables.rb
|
174
|
-
- definitions/features/katello.rb
|
175
|
-
- definitions/features/mongo.rb
|
176
|
-
- definitions/features/package_manager.rb
|
177
|
-
- definitions/features/pulp.rb
|
178
237
|
- definitions/features/puppet_server.rb
|
179
|
-
- definitions/features/satellite.rb
|
180
|
-
- definitions/features/service.rb
|
181
238
|
- definitions/features/sync_plans.rb
|
182
239
|
- definitions/features/system_repos.rb
|
183
|
-
- definitions/features/tar.rb
|
184
240
|
- definitions/features/upstream.rb
|
241
|
+
- definitions/features/satellite.rb
|
242
|
+
- definitions/features/katello.rb
|
243
|
+
- definitions/features/tar.rb
|
244
|
+
- definitions/features/cron.rb
|
245
|
+
- definitions/features/foreman_server.rb
|
246
|
+
- definitions/features/hammer.rb
|
247
|
+
- definitions/features/service.rb
|
248
|
+
- definitions/features/foreman_proxy.rb
|
249
|
+
- definitions/features/instance.rb
|
250
|
+
- definitions/features/mongo.rb
|
251
|
+
- definitions/features/pulp.rb
|
252
|
+
- definitions/procedures/foreman_tasks/delete.rb
|
253
|
+
- definitions/procedures/foreman_tasks/fetch_tasks_status.rb
|
254
|
+
- definitions/procedures/foreman_tasks/resume.rb
|
255
|
+
- definitions/procedures/foreman_tasks/ui_investigate.rb
|
256
|
+
- definitions/procedures/sync_plans/disable.rb
|
257
|
+
- definitions/procedures/sync_plans/enable.rb
|
185
258
|
- definitions/procedures/backup/accessibility_confirmation.rb
|
186
259
|
- definitions/procedures/backup/clean.rb
|
187
|
-
- definitions/procedures/backup/compress_data.rb
|
188
|
-
- definitions/procedures/backup/config_files.rb
|
189
|
-
- definitions/procedures/backup/metadata.rb
|
190
260
|
- definitions/procedures/backup/offline/candlepin_db.rb
|
191
261
|
- definitions/procedures/backup/offline/foreman_db.rb
|
192
262
|
- definitions/procedures/backup/offline/mongo.rb
|
@@ -196,39 +266,35 @@ files:
|
|
196
266
|
- definitions/procedures/backup/online/pg_global_objects.rb
|
197
267
|
- definitions/procedures/backup/online/safety_confirmation.rb
|
198
268
|
- definitions/procedures/backup/prepare_directory.rb
|
199
|
-
- definitions/procedures/backup/pulp.rb
|
200
269
|
- definitions/procedures/backup/snapshot/clean_mount.rb
|
201
|
-
- definitions/procedures/backup/snapshot/logical_volume_confirmation.rb
|
202
270
|
- definitions/procedures/backup/snapshot/mount_base.rb
|
203
271
|
- definitions/procedures/backup/snapshot/mount_candlepin_db.rb
|
204
272
|
- definitions/procedures/backup/snapshot/mount_foreman_db.rb
|
205
273
|
- definitions/procedures/backup/snapshot/mount_mongo.rb
|
206
|
-
- definitions/procedures/backup/snapshot/mount_pulp.rb
|
207
274
|
- definitions/procedures/backup/snapshot/prepare_mount.rb
|
275
|
+
- definitions/procedures/backup/snapshot/logical_volume_confirmation.rb
|
276
|
+
- definitions/procedures/backup/snapshot/mount_pulp.rb
|
277
|
+
- definitions/procedures/backup/metadata.rb
|
278
|
+
- definitions/procedures/backup/compress_data.rb
|
279
|
+
- definitions/procedures/backup/config_files.rb
|
280
|
+
- definitions/procedures/backup/pulp.rb
|
208
281
|
- definitions/procedures/candlepin/delete_orphaned_records_from_env_content.rb
|
209
282
|
- definitions/procedures/crond/start.rb
|
210
283
|
- definitions/procedures/crond/stop.rb
|
211
|
-
- definitions/procedures/files/remove.rb
|
212
284
|
- definitions/procedures/foreman/apipie_cache.rb
|
213
|
-
- definitions/procedures/foreman/fix_corrupted_roles.rb
|
214
285
|
- definitions/procedures/foreman/remove_duplicate_obsolete_roles.rb
|
286
|
+
- definitions/procedures/foreman/fix_corrupted_roles.rb
|
215
287
|
- definitions/procedures/foreman_docker/remove_foreman_docker.rb
|
216
288
|
- definitions/procedures/foreman_openscap/invalid_report_associations.rb
|
217
|
-
- definitions/procedures/foreman_proxy/features.rb
|
218
|
-
- definitions/procedures/foreman_tasks/delete.rb
|
219
|
-
- definitions/procedures/foreman_tasks/fetch_tasks_status.rb
|
220
|
-
- definitions/procedures/foreman_tasks/resume.rb
|
221
|
-
- definitions/procedures/foreman_tasks/ui_investigate.rb
|
222
289
|
- definitions/procedures/hammer_setup.rb
|
223
|
-
- definitions/procedures/installer/run.rb
|
224
290
|
- definitions/procedures/installer/upgrade.rb
|
291
|
+
- definitions/procedures/installer/run.rb
|
225
292
|
- definitions/procedures/iptables/add_maintenance_mode_chain.rb
|
226
293
|
- definitions/procedures/iptables/remove_maintenance_mode_chain.rb
|
227
|
-
- definitions/procedures/knowledge_base_article.rb
|
228
294
|
- definitions/procedures/maintenance_mode/is_enabled.rb
|
229
|
-
- definitions/procedures/packages/enable_version_locking.rb
|
230
295
|
- definitions/procedures/packages/install.rb
|
231
296
|
- definitions/procedures/packages/installer_confirmation.rb
|
297
|
+
- definitions/procedures/packages/enable_version_locking.rb
|
232
298
|
- definitions/procedures/packages/lock_versions.rb
|
233
299
|
- definitions/procedures/packages/locking_status.rb
|
234
300
|
- definitions/procedures/packages/unlock_versions.rb
|
@@ -240,124 +306,58 @@ files:
|
|
240
306
|
- definitions/procedures/repositories/disable.rb
|
241
307
|
- definitions/procedures/repositories/setup.rb
|
242
308
|
- definitions/procedures/restore/candlepin_dump.rb
|
243
|
-
- definitions/procedures/restore/configs.rb
|
244
309
|
- definitions/procedures/restore/confirmation.rb
|
245
310
|
- definitions/procedures/restore/drop_databases.rb
|
246
311
|
- definitions/procedures/restore/ensure_mongo_engine_matches.rb
|
247
312
|
- definitions/procedures/restore/extract_files.rb
|
248
313
|
- definitions/procedures/restore/foreman_dump.rb
|
249
|
-
- definitions/procedures/restore/installer_reset.rb
|
250
|
-
- definitions/procedures/restore/mongo_dump.rb
|
251
314
|
- definitions/procedures/restore/pg_global_objects.rb
|
252
315
|
- definitions/procedures/restore/postgres_owner.rb
|
316
|
+
- definitions/procedures/restore/installer_reset.rb
|
317
|
+
- definitions/procedures/restore/configs.rb
|
318
|
+
- definitions/procedures/restore/mongo_dump.rb
|
253
319
|
- definitions/procedures/selinux/set_file_security.rb
|
254
|
-
- definitions/procedures/service/base.rb
|
255
320
|
- definitions/procedures/service/daemon_reload.rb
|
256
321
|
- definitions/procedures/service/disable.rb
|
257
322
|
- definitions/procedures/service/enable.rb
|
258
323
|
- definitions/procedures/service/list.rb
|
259
|
-
- definitions/procedures/service/restart.rb
|
260
324
|
- definitions/procedures/service/start.rb
|
261
325
|
- definitions/procedures/service/status.rb
|
262
326
|
- definitions/procedures/service/stop.rb
|
263
|
-
- definitions/procedures/
|
264
|
-
- definitions/procedures/
|
265
|
-
- definitions/
|
327
|
+
- definitions/procedures/service/restart.rb
|
328
|
+
- definitions/procedures/service/base.rb
|
329
|
+
- definitions/procedures/foreman_proxy/features.rb
|
330
|
+
- definitions/procedures/files/remove.rb
|
331
|
+
- definitions/procedures/knowledge_base_article.rb
|
266
332
|
- definitions/scenarios/maintenance_mode.rb
|
267
|
-
- definitions/scenarios/
|
333
|
+
- definitions/scenarios/upgrade_to_satellite_6_6.rb
|
268
334
|
- definitions/scenarios/restore.rb
|
269
|
-
- definitions/scenarios/services.rb
|
270
335
|
- definitions/scenarios/upgrade_to_satellite_6_2.rb
|
336
|
+
- definitions/scenarios/upgrade_to_satellite_6_4.rb
|
337
|
+
- definitions/scenarios/upgrade_to_satellite_6_6_z.rb
|
338
|
+
- definitions/scenarios/backup.rb
|
339
|
+
- definitions/scenarios/packages.rb
|
271
340
|
- definitions/scenarios/upgrade_to_satellite_6_2_z.rb
|
272
|
-
- definitions/scenarios/upgrade_to_satellite_6_3.rb
|
273
341
|
- definitions/scenarios/upgrade_to_satellite_6_3_z.rb
|
274
|
-
- definitions/scenarios/upgrade_to_satellite_6_4.rb
|
275
342
|
- definitions/scenarios/upgrade_to_satellite_6_4_z.rb
|
276
|
-
- definitions/scenarios/upgrade_to_satellite_6_5.rb
|
277
343
|
- definitions/scenarios/upgrade_to_satellite_6_5_z.rb
|
278
|
-
- definitions/scenarios/upgrade_to_satellite_6_6.rb
|
279
|
-
- definitions/scenarios/upgrade_to_satellite_6_6_z.rb
|
280
344
|
- definitions/scenarios/upgrade_to_satellite_6_7.rb
|
345
|
+
- definitions/scenarios/services.rb
|
346
|
+
- definitions/scenarios/upgrade_to_satellite_6_3.rb
|
347
|
+
- definitions/scenarios/upgrade_to_satellite_6_5.rb
|
281
348
|
- definitions/scenarios/upgrade_to_satellite_6_7_z.rb
|
349
|
+
- config/foreman-maintain.completion
|
350
|
+
- config/foreman_maintain.yml.example
|
351
|
+
- config/foreman_maintain.yml.packaging
|
352
|
+
- config/hammer.yml.example
|
353
|
+
- config/passenger-recycler.yaml
|
282
354
|
- extras/foreman-maintain.sh
|
283
355
|
- extras/foreman_protector/foreman-protector.conf
|
284
356
|
- extras/foreman_protector/foreman-protector.py
|
285
357
|
- extras/foreman_protector/foreman-protector.whitelist
|
286
358
|
- extras/passenger-recycler.cron
|
287
|
-
-
|
288
|
-
-
|
289
|
-
- lib/foreman_maintain/cli.rb
|
290
|
-
- lib/foreman_maintain/cli/advanced/prebuild_bash_completion.rb
|
291
|
-
- lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb
|
292
|
-
- lib/foreman_maintain/cli/advanced/procedure/abstract_procedure_command.rb
|
293
|
-
- lib/foreman_maintain/cli/advanced/procedure/by_tag_command.rb
|
294
|
-
- lib/foreman_maintain/cli/advanced/procedure/run_command.rb
|
295
|
-
- lib/foreman_maintain/cli/advanced/procedure_command.rb
|
296
|
-
- lib/foreman_maintain/cli/advanced_command.rb
|
297
|
-
- lib/foreman_maintain/cli/backup_command.rb
|
298
|
-
- lib/foreman_maintain/cli/base.rb
|
299
|
-
- lib/foreman_maintain/cli/health_command.rb
|
300
|
-
- lib/foreman_maintain/cli/maintenance_mode_command.rb
|
301
|
-
- lib/foreman_maintain/cli/packages_command.rb
|
302
|
-
- lib/foreman_maintain/cli/restore_command.rb
|
303
|
-
- lib/foreman_maintain/cli/service_command.rb
|
304
|
-
- lib/foreman_maintain/cli/transform_clamp_options.rb
|
305
|
-
- lib/foreman_maintain/cli/upgrade_command.rb
|
306
|
-
- lib/foreman_maintain/concerns/base_database.rb
|
307
|
-
- lib/foreman_maintain/concerns/directory_marker.rb
|
308
|
-
- lib/foreman_maintain/concerns/downstream.rb
|
309
|
-
- lib/foreman_maintain/concerns/finders.rb
|
310
|
-
- lib/foreman_maintain/concerns/hammer.rb
|
311
|
-
- lib/foreman_maintain/concerns/logger.rb
|
312
|
-
- lib/foreman_maintain/concerns/metadata.rb
|
313
|
-
- lib/foreman_maintain/concerns/reporter.rb
|
314
|
-
- lib/foreman_maintain/concerns/scenario_metadata.rb
|
315
|
-
- lib/foreman_maintain/concerns/system_helpers.rb
|
316
|
-
- lib/foreman_maintain/concerns/system_service.rb
|
317
|
-
- lib/foreman_maintain/config.rb
|
318
|
-
- lib/foreman_maintain/context.rb
|
319
|
-
- lib/foreman_maintain/core_ext.rb
|
320
|
-
- lib/foreman_maintain/csv_parser.rb
|
321
|
-
- lib/foreman_maintain/dependency_graph.rb
|
322
|
-
- lib/foreman_maintain/detector.rb
|
323
|
-
- lib/foreman_maintain/error.rb
|
324
|
-
- lib/foreman_maintain/executable.rb
|
325
|
-
- lib/foreman_maintain/feature.rb
|
326
|
-
- lib/foreman_maintain/package_manager.rb
|
327
|
-
- lib/foreman_maintain/package_manager/base.rb
|
328
|
-
- lib/foreman_maintain/package_manager/dnf.rb
|
329
|
-
- lib/foreman_maintain/package_manager/yum.rb
|
330
|
-
- lib/foreman_maintain/param.rb
|
331
|
-
- lib/foreman_maintain/procedure.rb
|
332
|
-
- lib/foreman_maintain/reporter.rb
|
333
|
-
- lib/foreman_maintain/reporter/cli_reporter.rb
|
334
|
-
- lib/foreman_maintain/runner.rb
|
335
|
-
- lib/foreman_maintain/runner/execution.rb
|
336
|
-
- lib/foreman_maintain/runner/stored_execution.rb
|
337
|
-
- lib/foreman_maintain/scenario.rb
|
338
|
-
- lib/foreman_maintain/top_level_modules.rb
|
339
|
-
- lib/foreman_maintain/upgrade_runner.rb
|
340
|
-
- lib/foreman_maintain/utils.rb
|
341
|
-
- lib/foreman_maintain/utils/backup.rb
|
342
|
-
- lib/foreman_maintain/utils/bash.rb
|
343
|
-
- lib/foreman_maintain/utils/command_runner.rb
|
344
|
-
- lib/foreman_maintain/utils/curl_response.rb
|
345
|
-
- lib/foreman_maintain/utils/disk.rb
|
346
|
-
- lib/foreman_maintain/utils/disk/device.rb
|
347
|
-
- lib/foreman_maintain/utils/disk/io_device.rb
|
348
|
-
- lib/foreman_maintain/utils/disk/nil_device.rb
|
349
|
-
- lib/foreman_maintain/utils/disk/stats.rb
|
350
|
-
- lib/foreman_maintain/utils/facter.rb
|
351
|
-
- lib/foreman_maintain/utils/hash_tools.rb
|
352
|
-
- lib/foreman_maintain/utils/mongo_core.rb
|
353
|
-
- lib/foreman_maintain/utils/response.rb
|
354
|
-
- lib/foreman_maintain/utils/service.rb
|
355
|
-
- lib/foreman_maintain/utils/service/abstract.rb
|
356
|
-
- lib/foreman_maintain/utils/service/remote_db.rb
|
357
|
-
- lib/foreman_maintain/utils/service/systemd.rb
|
358
|
-
- lib/foreman_maintain/utils/system_helpers.rb
|
359
|
-
- lib/foreman_maintain/version.rb
|
360
|
-
- lib/foreman_maintain/yaml_storage.rb
|
359
|
+
- LICENSE
|
360
|
+
- README.md
|
361
361
|
homepage: https://github.com/theforeman/foreman_maintain
|
362
362
|
licenses:
|
363
363
|
- GPL-3.0
|
@@ -368,17 +368,17 @@ require_paths:
|
|
368
368
|
- lib
|
369
369
|
required_ruby_version: !ruby/object:Gem::Requirement
|
370
370
|
requirements:
|
371
|
-
- -
|
371
|
+
- - '>='
|
372
372
|
- !ruby/object:Gem::Version
|
373
373
|
version: '0'
|
374
374
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
375
375
|
requirements:
|
376
|
-
- -
|
376
|
+
- - '>='
|
377
377
|
- !ruby/object:Gem::Version
|
378
378
|
version: '0'
|
379
379
|
requirements: []
|
380
380
|
rubyforge_project:
|
381
|
-
rubygems_version: 2.
|
381
|
+
rubygems_version: 2.0.14.1
|
382
382
|
signing_key:
|
383
383
|
specification_version: 4
|
384
384
|
summary: Foreman maintenance tool belt
|
@@ -1,33 +0,0 @@
|
|
1
|
-
class Features::PackageManager < ForemanMaintain::Feature
|
2
|
-
metadata do
|
3
|
-
label :package_manager
|
4
|
-
end
|
5
|
-
|
6
|
-
extend Forwardable
|
7
|
-
def_delegators :manager, :lock_versions, :unlock_versions,
|
8
|
-
:installed?, :find_installed_package, :install, :update,
|
9
|
-
:version_locking_enabled?, :install_version_locking,
|
10
|
-
:versions_locked?, :clean_cache, :remove, :files_not_owned_by_package
|
11
|
-
|
12
|
-
def self.type
|
13
|
-
@type ||= %w[dnf yum apt].find { |manager| command_present?(manager) }
|
14
|
-
end
|
15
|
-
|
16
|
-
def type
|
17
|
-
self.class.type
|
18
|
-
end
|
19
|
-
|
20
|
-
def manager
|
21
|
-
@manager ||= case type
|
22
|
-
when 'dnf'
|
23
|
-
ForemanMaintain::PackageManager::Dnf.new
|
24
|
-
when 'yum'
|
25
|
-
ForemanMaintain::PackageManager::Yum.new
|
26
|
-
else
|
27
|
-
raise 'No supported package manager was found'
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
# TODO: DEB grep ^Package: /var/lib/apt/lists/deb.theforeman.org_dists_*
|
32
|
-
# TODO DEB apt-mark hold/unhold <package>
|
33
|
-
end
|