module ForemanMaintain::Concerns::Downstream
Public Instance Methods
absent_repos(version)
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 26 def absent_repos(version) repos_required = rh_repos(version) repos_found = repos_required & repository_manager.rhsm_list_repos.keys repos_required - repos_found end
current_version()
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 4 def current_version raise NotImplementedError end
fm_pkg_and_cmd_name()
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 45 def fm_pkg_and_cmd_name %w[satellite-maintain satellite-maintain] end
package_name()
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 41 def package_name raise NotImplementedError end
repository_manager()
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 8 def repository_manager ForemanMaintain.repository_manager end
rhsm_refresh()
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 32 def rhsm_refresh execute!(%(subscription-manager refresh)) end
setup_repositories(version)
click to toggle source
TODO: Modify activation_key changes as per server
# File lib/foreman_maintain/concerns/downstream.rb, line 13 def setup_repositories(version) activation_key = ENV['EXTERNAL_SAT_ACTIVATION_KEY'] org = ENV['EXTERNAL_SAT_ORG'] if activation_key org_options = org ? %(--org #{shellescape(org)}) : '' execute!(%(subscription-manager register #{org_options}\ --activationkey #{shellescape(activation_key)} --force)) else repository_manager.rhsm_disable_repos(['*']) repository_manager.rhsm_enable_repos(rh_repos(version)) end end
subscribed_using_activation_key?()
click to toggle source
TODO: Verify this is valid for capsule?
# File lib/foreman_maintain/concerns/downstream.rb, line 37 def subscribed_using_activation_key? ENV['EXTERNAL_SAT_ACTIVATION_KEY'] && ENV['EXTERNAL_SAT_ORG'] end
Private Instance Methods
common_repos(full_version)
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 64 def common_repos(full_version) ["satellite-maintenance-#{full_version}-for-rhel-#{el_major_version}-x86_64-rpms"] end
main_rh_repos()
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 68 def main_rh_repos [ "rhel-#{el_major_version}-for-x86_64-baseos-rpms", "rhel-#{el_major_version}-for-x86_64-appstream-rpms", ] end
product_specific_repos(full_version)
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 59 def product_specific_repos(full_version) repos = ["#{package_name}-#{full_version}-for-rhel-#{el_major_version}-x86_64-rpms"] repos.concat(common_repos(full_version)) end
rh_repos(server_version)
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 51 def rh_repos(server_version) server_version = version(server_version) rh_repos = main_rh_repos server_version_full = "#{server_version.major}.#{server_version.minor}" rh_repos.concat(product_specific_repos(server_version_full)) rh_repos end
version_from_source()
click to toggle source
# File lib/foreman_maintain/concerns/downstream.rb, line 75 def version_from_source raise NotImplementedError end