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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +48 -10
  3. data/bin/foreman-maintain-rotate-tar +18 -0
  4. data/definitions/checks/backup/certs_tar_exist.rb +24 -0
  5. data/definitions/checks/backup/directory_ready.rb +21 -0
  6. data/definitions/checks/candlepin/db_up.rb +29 -0
  7. data/definitions/checks/check_epel_repository.rb +21 -0
  8. data/definitions/checks/foreman/db_up.rb +29 -0
  9. data/definitions/checks/hammer_ping.rb +3 -1
  10. data/definitions/checks/mongo/db_up.rb +29 -0
  11. data/definitions/checks/mongo/tools_installed.rb +31 -0
  12. data/definitions/checks/repositories/validate.rb +0 -3
  13. data/definitions/checks/root_user.rb +12 -0
  14. data/definitions/features/candlepin.rb +16 -0
  15. data/definitions/features/candlepin_database.rb +3 -1
  16. data/definitions/features/downstream.rb +21 -22
  17. data/definitions/features/foreman_database.rb +2 -0
  18. data/definitions/features/foreman_proxy.rb +70 -7
  19. data/definitions/features/foreman_server.rb +29 -0
  20. data/definitions/features/foreman_tasks.rb +5 -1
  21. data/definitions/features/hammer.rb +158 -3
  22. data/definitions/features/installer.rb +106 -0
  23. data/definitions/features/instance.rb +39 -0
  24. data/definitions/features/katello.rb +43 -0
  25. data/definitions/features/mongo.rb +159 -0
  26. data/definitions/features/pulp.rb +30 -0
  27. data/definitions/features/puppet.rb +21 -0
  28. data/definitions/features/puppet_server.rb +2 -6
  29. data/definitions/features/service.rb +134 -0
  30. data/definitions/features/sync_plans.rb +1 -1
  31. data/definitions/features/tar.rb +69 -0
  32. data/definitions/procedures/backup/accessibility_confirmation.rb +14 -0
  33. data/definitions/procedures/backup/clean.rb +16 -0
  34. data/definitions/procedures/backup/compress_data.rb +26 -0
  35. data/definitions/procedures/backup/config_files.rb +36 -0
  36. data/definitions/procedures/backup/metadata.rb +56 -0
  37. data/definitions/procedures/backup/offline/candlepin_db.rb +57 -0
  38. data/definitions/procedures/backup/offline/foreman_db.rb +57 -0
  39. data/definitions/procedures/backup/offline/mongo.rb +56 -0
  40. data/definitions/procedures/backup/online/candlepin_db.rb +20 -0
  41. data/definitions/procedures/backup/online/foreman_db.rb +20 -0
  42. data/definitions/procedures/backup/online/mongo.rb +21 -0
  43. data/definitions/procedures/backup/online/pg_global_objects.rb +23 -0
  44. data/definitions/procedures/backup/online/safety_confirmation.rb +25 -0
  45. data/definitions/procedures/backup/prepare_directory.rb +29 -0
  46. data/definitions/procedures/backup/pulp.rb +68 -0
  47. data/definitions/procedures/backup/snapshot/clean_mount.rb +24 -0
  48. data/definitions/procedures/backup/snapshot/logical_volume_confirmation.rb +47 -0
  49. data/definitions/procedures/backup/snapshot/mount_base.rb +27 -0
  50. data/definitions/procedures/backup/snapshot/mount_candlepin_db.rb +48 -0
  51. data/definitions/procedures/backup/snapshot/mount_foreman_db.rb +48 -0
  52. data/definitions/procedures/backup/snapshot/mount_mongo.rb +35 -0
  53. data/definitions/procedures/backup/snapshot/mount_pulp.rb +24 -0
  54. data/definitions/procedures/backup/snapshot/prepare_mount.rb +16 -0
  55. data/definitions/procedures/foreman_tasks/fetch_tasks_status.rb +1 -0
  56. data/definitions/procedures/hammer_setup.rb +4 -39
  57. data/definitions/procedures/installer/upgrade.rb +1 -21
  58. data/definitions/procedures/repositories/setup.rb +0 -4
  59. data/definitions/procedures/service/base.rb +31 -0
  60. data/definitions/procedures/service/disable.rb +14 -0
  61. data/definitions/procedures/service/enable.rb +14 -0
  62. data/definitions/procedures/service/list.rb +26 -0
  63. data/definitions/procedures/service/restart.rb +49 -0
  64. data/definitions/procedures/service/start.rb +14 -0
  65. data/definitions/procedures/service/status.rb +14 -0
  66. data/definitions/procedures/service/stop.rb +14 -0
  67. data/definitions/scenarios/backup.rb +242 -0
  68. data/definitions/scenarios/services.rb +156 -0
  69. data/definitions/scenarios/upgrade_to_satellite_6_2.rb +2 -2
  70. data/definitions/scenarios/upgrade_to_satellite_6_2_z.rb +2 -2
  71. data/definitions/scenarios/upgrade_to_satellite_6_3.rb +2 -2
  72. data/definitions/scenarios/upgrade_to_satellite_6_3_z.rb +2 -2
  73. data/definitions/scenarios/upgrade_to_satellite_6_4.rb +79 -0
  74. data/definitions/scenarios/upgrade_to_satellite_6_4_z.rb +79 -0
  75. data/lib/foreman_maintain.rb +5 -0
  76. data/lib/foreman_maintain/cli.rb +4 -0
  77. data/lib/foreman_maintain/cli/backup_command.rb +157 -0
  78. data/lib/foreman_maintain/cli/base.rb +18 -8
  79. data/lib/foreman_maintain/cli/service_command.rb +112 -0
  80. data/lib/foreman_maintain/cli/transform_clamp_options.rb +1 -1
  81. data/lib/foreman_maintain/concerns/base_database.rb +57 -5
  82. data/lib/foreman_maintain/concerns/hammer.rb +0 -9
  83. data/lib/foreman_maintain/concerns/metadata.rb +3 -1
  84. data/lib/foreman_maintain/concerns/reporter.rb +12 -0
  85. data/lib/foreman_maintain/concerns/system_helpers.rb +45 -2
  86. data/lib/foreman_maintain/detector.rb +3 -3
  87. data/lib/foreman_maintain/error.rb +12 -0
  88. data/lib/foreman_maintain/executable.rb +29 -6
  89. data/lib/foreman_maintain/feature.rb +15 -0
  90. data/lib/foreman_maintain/param.rb +4 -3
  91. data/lib/foreman_maintain/reporter.rb +6 -2
  92. data/lib/foreman_maintain/reporter/cli_reporter.rb +26 -10
  93. data/lib/foreman_maintain/runner.rb +26 -15
  94. data/lib/foreman_maintain/runner/execution.rb +5 -1
  95. data/lib/foreman_maintain/scenario.rb +11 -3
  96. data/lib/foreman_maintain/upgrade_runner.rb +0 -2
  97. data/lib/foreman_maintain/utils.rb +2 -2
  98. data/lib/foreman_maintain/utils/command_runner.rb +0 -2
  99. data/lib/foreman_maintain/utils/hash_tools.rb +21 -0
  100. data/lib/foreman_maintain/utils/mongo_core.rb +37 -0
  101. data/lib/foreman_maintain/version.rb +1 -1
  102. metadata +58 -8
  103. data/definitions/features/katello_service.rb +0 -118
  104. data/definitions/procedures/katello_service/restart.rb +0 -24
  105. data/definitions/procedures/katello_service/start.rb +0 -19
  106. data/definitions/procedures/katello_service/stop.rb +0 -17
  107. data/lib/foreman_maintain/utils/facter.rb +0 -21
  108. data/lib/foreman_maintain/utils/hammer.rb +0 -79
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ba0d1619770cae069e142f20a49d40591000521
4
- data.tar.gz: f3ffcb2023e8070b5dc5764f9496654a32c65687
3
+ metadata.gz: a95032534af5a5f6533cf1b1623321f71462bd98
4
+ data.tar.gz: 9fbc367b8ea5dfbf01112d614123661921b146f4
5
5
  SHA512:
6
- metadata.gz: 2f14ff8e193e7f421f7d7e9c3183013abdc7b83d3d7eda31faa09502f561a3cb7a9069afd1301a3d59d5f48f2dadda36929ae5d4515d950d2b525ff1e317406b
7
- data.tar.gz: c9c14e9df45fcfcadf4a2a3ea2e710b30edd698f9c4cc19c1f0b52b3690c4ffaf23b9b9d6749b8e091cdca3fb8e4a167a84781ec857c287e25c5f8afed479bf1
6
+ metadata.gz: 41f25e7065a7752525906ab02073c1af43a426ea450c68ca91b03c8ded84e9c55bd0f129166ecfd7b3bc7dfb9a870b54ad9f307bcaeb14b33e154d588e35c480
7
+ data.tar.gz: 7894e033e22c4c378afc3d4aafac9ae53279409f1796e05099e391b250cf9ed825bb5453749fc59e385da1eda18993a4bdc31c8dd120067204619396104639e5
data/README.md CHANGED
@@ -21,6 +21,20 @@ Subcommands:
21
21
  check --target-version TARGET_VERSION Run pre-upgrade checks for upgrading to specified version
22
22
  run --target-version TARGET_VERSION Run the full upgrade
23
23
  [--phase=phase TARGET_VERSION] Run just a specific phase of the upgrade
24
+
25
+ advanced Advanced tools for server maintenance
26
+ procedure Run maintain procedures manually
27
+ run Run maintain procedures manually
28
+ by-tag Run maintain procedures in bulks
29
+
30
+ service Control applicable services
31
+ start Start applicable services
32
+ stop Stop applicable services
33
+ restart Restart applicable services
34
+ status Get statuses of applicable services
35
+ list List applicable services
36
+ enable Enable applicable services
37
+ disable Disable applicable services
24
38
  ```
25
39
 
26
40
  ### Upgrades
@@ -283,24 +297,48 @@ end
283
297
  ### Hammer
284
298
 
285
299
  In some cases, it's useful to be able to use the hammer as part of check/fix procedures.
286
- The easiest way to achieve this is to include `ForemanMaintain::Concerns::Hammer` module:
300
+ It is as simple as:
287
301
 
288
302
  ```ruby
289
- include ForemanMaintain::Concerns::Hammer
290
-
291
303
  def run
292
- hammer('task resume')
304
+ feature(:hammer).run('task resume')
293
305
  end
294
306
  ```
295
307
 
296
- We expect the credentials for the hammer commands to to be stored inside the hammer settings:
308
+ Before executing the command the feature checks if it has valid hammer configuration to run the command.
309
+ Foreman maintain always use the 'admin' account to run the commands. The password is taken either form
310
+ the Hammer config or installer answer files or asked from the user interactively (in this order).
311
+ The valid credentials are stored and reused next time if still valid.
297
312
 
313
+ Usually we want to do the user interaction at the beginning of our scenario.
314
+ The easiest way to achieve this is to include `ForemanMaintain::Concerns::Hammer` module:
315
+
316
+ ```ruby
317
+ include ForemanMaintain::Concerns::Hammer
298
318
  ```
299
- # ~/.hammer/cli.modules.d/foreman.yml
300
- :foreman:
301
- :username: 'admin'
302
- :password: 'changeme'
303
- ```
319
+
320
+ which adds `Procedures::HammerSetup` as a preparation step to your metadata. We are adding this
321
+ to all procedures and checks automatically.
322
+
323
+ ## Metadata
324
+
325
+ A set of data that describes and gives information about any definition.
326
+
327
+ You can describe a definition using following methods available in metadata:
328
+
329
+ * **label** - specify an unique name per definition
330
+ * **tags** - comma separated labels attached for the purpose of creating
331
+ groups of definitions
332
+ * **description** - specify short description about definition
333
+ * **param** - declare parameters for a definition using this method
334
+ * **for_feature** - specify feature name for a definition. It implicitly confines the presence
335
+ of that feature.
336
+ * **preparation_steps** - takes block using which you can perform additional steps
337
+ before executing actual definition
338
+ * **confine** - takes block as argument to restrict execution of it
339
+ * **advanced_run** - takes a boolean value for procedure definition & will restrict
340
+ execution of procedure from `advanced procedure run` sub-command
341
+ * **before**, **after** - methods used to define order for particular check. Specify label of other check.
304
342
 
305
343
  ## Implementation components
306
344
 
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+ ## For this script it's advisable to use a shell, such as Bash,
3
+ ## that supports a TAR_FD value greater than 9.
4
+
5
+ # This script taken from the tar info doc
6
+
7
+ name=`expr ${TAR_ARCHIVE} : '\(.*\)\..*'`
8
+ volnum=`printf "%04d" ${TAR_VOLUME}`
9
+ filename="${name:-$TAR_ARCHIVE}.part${volnum:-$TAR_VOLUME}"
10
+ case ${TAR_SUBCOMMAND} in
11
+ -c) ;;
12
+ -d|-x|-t) test -r ${filename} || exit 1
13
+ ;;
14
+ *) exit 1
15
+ esac
16
+
17
+ echo ${filename} >&${TAR_FD}
18
+ echo " Switched to multi-volume ${filename}"
@@ -0,0 +1,24 @@
1
+ module Checks::Backup
2
+ class CertsTarExist < ForemanMaintain::Check
3
+ metadata do
4
+ description 'Check if proxy certs_tar exist'
5
+ tags :backup
6
+ for_feature :foreman_proxy
7
+ end
8
+
9
+ def run
10
+ unless feature(:foreman_proxy).internal?
11
+ if certs_tar && !File.exist?(certs_tar)
12
+ name = feature(:instance).proxy_product_name
13
+ fail! "#{name} certs tar file is not present on the system" \
14
+ " in path '#{certs_tar}'. \nPlease move the file back to that" \
15
+ ' location or generate a new one on the main server.'
16
+ end
17
+ end
18
+ end
19
+
20
+ def certs_tar
21
+ feature(:foreman_proxy).certs_tar
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,21 @@
1
+ module Checks::Backup
2
+ class DirectoryReady < ForemanMaintain::Check
3
+ metadata do
4
+ description 'Check if the directory exists and is writable'
5
+ tags :backup
6
+ manual_detection
7
+ param :backup_dir, 'Directory where to backup to', :required => true
8
+ param :preserve_dir, 'Directory where to backup to', :flag => true, :default => false
9
+ end
10
+
11
+ def run
12
+ assert(File.directory?(@backup_dir), "Backup directory (#{@backup_dir}) does not exit.")
13
+ if local_psql_database?
14
+ result = system("runuser - postgres -c 'test -w #{@backup_dir}'")
15
+ assert(result, "Postgres user needs write access to the backup directory \n" \
16
+ "Please allow the postgres user write access to #{@backup_dir}" \
17
+ ' or choose another directory.')
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,29 @@
1
+ module Checks
2
+ module Candlepin
3
+ class DBUp < ForemanMaintain::Check
4
+ metadata do
5
+ description 'Make sure Candlepin DB is up'
6
+ label :candlepin_db_up
7
+ for_feature :candlepin_database
8
+ end
9
+
10
+ def run
11
+ status = false
12
+ with_spinner('Checking connection to the Candlepin DB') do
13
+ status = feature(:candlepin_database).ping
14
+ end
15
+ assert(status, 'Candlepin DB is not responding. ' \
16
+ 'It needs to be up and running to perform the following steps',
17
+ :next_steps => next_steps)
18
+ end
19
+
20
+ def next_steps
21
+ if feature(:foreman_database).local?
22
+ [Procedures::Service::Start.new(:only => 'postgresql')]
23
+ else
24
+ [] # there is nothing we can do for remote db
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,21 @@
1
+ class Checks::CheckEpelRepository < ForemanMaintain::Check
2
+ metadata do
3
+ label :check_epel_repository
4
+ description 'Check if EPEL repository enabled on system'
5
+ tags :pre_upgrade
6
+ confine do
7
+ feature(:downstream)
8
+ end
9
+ end
10
+
11
+ def run
12
+ with_spinner('Checking for presence of EPEL repository') do
13
+ assert(!epel_enabled?, 'System is subscribed to EPEL repository')
14
+ end
15
+ end
16
+
17
+ def epel_enabled?
18
+ system_repos = execute("yum repolist enabled -d 6 -e 0| grep -E 'Repo-baseurl|Repo-id'")
19
+ system_repos.to_s.match(/\bepel\b/i)
20
+ end
21
+ end
@@ -0,0 +1,29 @@
1
+ module Checks
2
+ module Foreman
3
+ class DBUp < ForemanMaintain::Check
4
+ metadata do
5
+ description 'Make sure Foreman DB is up'
6
+ label :foreman_db_up
7
+ for_feature :foreman_database
8
+ end
9
+
10
+ def run
11
+ status = false
12
+ with_spinner('Checking connection to the Foreman DB') do
13
+ status = feature(:foreman_database).ping
14
+ end
15
+ assert(status, 'Foreman DB is not responding. ' \
16
+ 'It needs to be up and running to perform the following steps',
17
+ :next_steps => next_steps)
18
+ end
19
+
20
+ def next_steps
21
+ if feature(:foreman_database).local?
22
+ [Procedures::Service::Start.new(:only => 'postgresql')]
23
+ else
24
+ [] # there is nothing we can do for remote db
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -13,8 +13,10 @@ class Checks::HammerPing < ForemanMaintain::Check
13
13
 
14
14
  def run
15
15
  result = feature(:hammer).hammer_ping_cmd
16
+ restart_procedure = Procedures::Service::Restart.new(:only => result[:data],
17
+ :wait_for_hammer_ping => true)
16
18
  assert(result[:success],
17
19
  result[:message],
18
- :next_steps => Procedures::KatelloService::Restart.new(:only => result[:data]))
20
+ :next_steps => restart_procedure)
19
21
  end
20
22
  end
@@ -0,0 +1,29 @@
1
+ module Checks
2
+ module Mongo
3
+ class DBUp < ForemanMaintain::Check
4
+ metadata do
5
+ description 'Make sure Mongo DB is up'
6
+ label :mongo_db_up
7
+ for_feature :mongo
8
+ end
9
+
10
+ def run
11
+ status = false
12
+ with_spinner('Checking connection to the Mongo DB') do
13
+ status = feature(:mongo).ping
14
+ end
15
+ assert(status, 'Mongo DB is not responding. ' \
16
+ 'It needs to be up and running to perform the following steps.',
17
+ :next_steps => next_steps)
18
+ end
19
+
20
+ def next_steps
21
+ if feature(:mongo).local?
22
+ [Procedures::Service::Start.new(:only => 'mongod')]
23
+ else
24
+ [] # there is nothing we can do for remote db
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,31 @@
1
+ module Checks::Mongo
2
+ class ToolsInstalled < ForemanMaintain::Check
3
+ metadata do
4
+ manual_detection
5
+ description 'Checks whether the tools for Mongo DB are installed'
6
+ for_feature :mongo
7
+ end
8
+
9
+ def run
10
+ if feature(:mongo).server_version =~ /^3\.4/
11
+ tools_pkg = 'rh-mongodb34-mongo-tools'
12
+ result = find_package(tools_pkg)
13
+ else
14
+ result = execute?('which mongodump')
15
+ tools_pkg = 'mongodb'
16
+ end
17
+ handle_result(result, tools_pkg)
18
+ end
19
+
20
+ private
21
+
22
+ def handle_result(result, tools_pkg)
23
+ assert(result,
24
+ "#{tools_pkg} was not found among installed package.\nThis package is needed to " \
25
+ 'do various operations such as backup, restore and import with Mongo DB.',
26
+ :next_steps => [
27
+ Procedures::Packages::Install.new(:packages => [tools_pkg])
28
+ ])
29
+ end
30
+ end
31
+ end
@@ -2,9 +2,6 @@ module Checks::Repositories
2
2
  class Validate < ForemanMaintain::Check
3
3
  metadata do
4
4
  description 'Validate availability of repositories'
5
- preparation_steps do
6
- Procedures::Packages::Install.new(:packages => [ForemanMaintain::Utils::Facter.package])
7
- end
8
5
 
9
6
  confine do
10
7
  feature(:downstream)
@@ -0,0 +1,12 @@
1
+ class Checks::RootUser < ForemanMaintain::Check
2
+ metadata do
3
+ label :root_user
4
+ tags :root_user
5
+ description 'Check if command is run as root user'
6
+ end
7
+
8
+ def run
9
+ is_root_user = Process.uid == 0
10
+ assert(is_root_user, 'This command needs to be run as the root user')
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ class Features::Candlepin < ForemanMaintain::Feature
2
+ metadata do
3
+ label :candlepin
4
+
5
+ confine do
6
+ find_package('candlepin')
7
+ end
8
+ end
9
+
10
+ def services
11
+ {
12
+ 'tomcat' => 20,
13
+ 'tomcat6' => 20
14
+ }
15
+ end
16
+ end
@@ -48,13 +48,15 @@ class Features::CandlepinDatabase < ForemanMaintain::Feature
48
48
  def load_configuration
49
49
  raw_config = File.read(CANDLEPIN_DB_CONFIG)
50
50
  full_config = Hash[raw_config.scan(/(^[^#\n][^=]*)=(.*)/)]
51
- uri = %r{://(([^/:]*):?([^/]*))/(.*)}.match(full_config['jpa.config.hibernate.connection.url'])
51
+ uri_regexp = %r{://(([^/:]*):?([^/]*))/([^?]*)\??(ssl=([^&]*))?}
52
+ uri = uri_regexp.match(full_config['jpa.config.hibernate.connection.url'])
52
53
  @configuration = {
53
54
  'username' => full_config['jpa.config.hibernate.connection.username'],
54
55
  'password' => full_config['jpa.config.hibernate.connection.password'],
55
56
  'database' => uri[4],
56
57
  'host' => uri[2],
57
58
  'port' => uri[3] || '5432',
59
+ 'ssl' => (uri[6] == 'true'),
58
60
  'driver_class' => full_config['jpa.config.hibernate.connection.driver_class'],
59
61
  'url' => full_config['jpa.config.hibernate.connection.url']
60
62
  }
@@ -7,6 +7,14 @@ class Features::Downstream < ForemanMaintain::Feature
7
7
  end
8
8
  end
9
9
 
10
+ def less_than_version?(version)
11
+ Gem::Version.new(current_version) < Gem::Version.new(version)
12
+ end
13
+
14
+ def at_least_version?(version)
15
+ Gem::Version.new(current_version) >= Gem::Version.new(version)
16
+ end
17
+
10
18
  def current_version
11
19
  @current_version ||= rpm_version('satellite') || version_from_source
12
20
  end
@@ -46,32 +54,23 @@ class Features::Downstream < ForemanMaintain::Feature
46
54
 
47
55
  def rh_repos(sat_version)
48
56
  sat_version = version(sat_version)
49
- rh_version_major = ForemanMaintain::Utils::Facter.os_major_release
50
-
51
- rh_repos = main_rh_repos(rh_version_major)
52
-
53
- rh_repos.concat(sat_and_tools_repos(rh_version_major, sat_version))
54
-
55
- if current_minor_version == '6.3' && sat_version.to_s != '6.4' && (
56
- feature(:puppet_server) && feature(:puppet_server).puppet_version.major == 4)
57
- rh_repos << "rhel-#{rh_version_major}-server-satellite-tools-6.3-puppet4-rpms"
58
- end
59
-
60
- rh_repos
61
- end
62
-
63
- def sat_and_tools_repos(rh_version_major, sat_version)
57
+ rh_version_major = execute!('facter operatingsystemmajrelease')
64
58
  sat_version_full = "#{sat_version.major}.#{sat_version.minor}"
59
+
65
60
  sat_repo_id = "rhel-#{rh_version_major}-server-satellite-#{sat_version_full}-rpms"
66
61
  sat_tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-#{sat_version_full}-rpms"
62
+ # Override to use Beta repositories for 6.4 until GA
63
+ if sat_version.to_s == '6.4'
64
+ sat_repo_id = "rhel-server-#{rh_version_major}-satellite-6-beta-rpms"
65
+ end
67
66
 
68
- [sat_repo_id, sat_tools_repo_id]
69
- end
70
-
71
- def main_rh_repos(rh_version_major)
72
- ["rhel-#{rh_version_major}-server-rpms",
73
- "rhel-server-rhscl-#{rh_version_major}-rpms",
74
- "rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms"]
67
+ rh_repos = ["rhel-#{rh_version_major}-server-rpms",
68
+ "rhel-server-rhscl-#{rh_version_major}-rpms",
69
+ "rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms",
70
+ sat_tools_repo_id,
71
+ sat_repo_id]
72
+ rh_repos << 'rhel-7-server-ansible-2-rpms' if sat_version.to_s == '6.4'
73
+ rh_repos
75
74
  end
76
75
 
77
76
  def version_from_source
@@ -20,5 +20,7 @@ class Features::ForemanDatabase < ForemanMaintain::Feature
20
20
  def load_configuration
21
21
  config = YAML.load(File.read(FOREMAN_DB_CONFIG))
22
22
  @configuration = config['production']
23
+ @configuration['host'] ||= 'localhost'
24
+ @configuration
23
25
  end
24
26
  end