# File lib/foreman_maintain/concerns/downstream.rb, line 113 def main_rh_repos(rh_version_major) ["rhel-#{rh_version_major}-server-rpms", "rhel-server-rhscl-#{rh_version_major}-rpms"] end
# File lib/foreman_maintain/concerns/downstream.rb, line 35 def absent_repos(version) all_repo_lines = execute(%Q(LANG=en_US.utf-8 subscription-manager repos --list 2>&1 | ) + %Q(grep '^Repo ID:')).split("\n") all_repos = all_repo_lines.map { |line| line.split(/\s+/).last } repos_required = rh_repos(version) repos_found = repos_required & all_repos repos_required - repos_found end
# File lib/foreman_maintain/concerns/downstream.rb, line 12 def at_least_version?(version) Gem::Version.new(current_version) >= Gem::Version.new(version) end
# File lib/foreman_maintain/concerns/downstream.rb, line 16 def current_minor_version current_version.to_s[/^\d+\.\d+/] end
# File lib/foreman_maintain/concerns/downstream.rb, line 4 def current_version raise NotImplementedError end
# File lib/foreman_maintain/concerns/downstream.rb, line 8 def less_than_version?(version) Gem::Version.new(current_version) < Gem::Version.new(version) end
# File lib/foreman_maintain/concerns/downstream.rb, line 53 def package_name raise NotImplementedError end
# File lib/foreman_maintain/concerns/downstream.rb, line 44 def rhsm_refresh execute!(%Q(subscription-manager refresh)) end
TODO: Modify activation_key changes as per server
# File lib/foreman_maintain/concerns/downstream.rb, line 21 def setup_repositories(version) activation_key = ENV['EXTERNAL_SAT_ACTIVATION_KEY'] org = ENV['EXTERNAL_SAT_ORG'] if activation_key org_options = org ? %Q(--org #{shellescape(org)}) : '' execute!(%Q(subscription-manager register #{org_options}\ --activationkey #{shellescape(activation_key)} --force)) else execute!(%Q(subscription-manager repos --disable '*')) enable_options = rh_repos(version).map { |r| "--enable=#{r}" }.join(' ') execute!(%Q(subscription-manager repos #{enable_options})) end end
TODO: Verify this is valid for capsule?
# File lib/foreman_maintain/concerns/downstream.rb, line 49 def subscribed_using_activation_key? ENV['EXTERNAL_SAT_ACTIVATION_KEY'] && ENV['EXTERNAL_SAT_ORG'] end
# File lib/foreman_maintain/concerns/downstream.rb, line 74 def ansible_repo(server_version, rh_version_major) if server_version >= version('6.6') "rhel-#{rh_version_major}-server-ansible-2.8-rpms" elsif server_version >= version('6.4') "rhel-#{rh_version_major}-server-ansible-2.6-rpms" end end
# File lib/foreman_maintain/concerns/downstream.rb, line 99 def common_repos(rh_version_major, full_version) repos_arrary = if ENV['FOREMAN_MAINTAIN_USE_BETA'] == '1' ["rhel-#{rh_version_major}-server-satellite-maintenance-6-beta-rpms", "rhel-#{rh_version_major}-server-satellite-tools-6-beta-rpms"] else ["rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms", "rhel-#{rh_version_major}-server-satellite-tools-#{full_version}-rpms"] end return repos_arrary.first(1) if feature(:capsule) repos_arrary end
# File lib/foreman_maintain/concerns/downstream.rb, line 113 def main_rh_repos(rh_version_major) ["rhel-#{rh_version_major}-server-rpms", "rhel-server-rhscl-#{rh_version_major}-rpms"] end
TODO: refactoring
# File lib/foreman_maintain/concerns/downstream.rb, line 83 def product_specific_repos(rh_version_major, full_version) repos = [] repos << if ENV['FOREMAN_MAINTAIN_USE_BETA'] == '1' "rhel-server-#{rh_version_major}-#{package_name}-6-beta-rpms" else "rhel-#{rh_version_major}-server-#{package_name}-#{full_version}-rpms" end if current_minor_version == '6.3' && full_version.to_s != '6.4' && ( feature(:puppet_server) && feature(:puppet_server).puppet_version.major == 4) # TODO: confirm repo for capsule. It might be same repo repos << "rhel-#{rh_version_major}-server-satellite-tools-6.3-puppet4-rpms" end repos.concat(common_repos(rh_version_major, full_version)) end
# File lib/foreman_maintain/concerns/downstream.rb, line 59 def rh_repos(server_version) server_version = version(server_version) rh_version_major = ForemanMaintain::Utils::Facter.os_major_release rh_repos = main_rh_repos(rh_version_major) server_version_full = "#{server_version.major}.#{server_version.minor}" rh_repos.concat(product_specific_repos(rh_version_major, server_version_full)) if server_version > version('6.3') rh_repos << ansible_repo(server_version, rh_version_major) end rh_repos end
# File lib/foreman_maintain/concerns/downstream.rb, line 118 def version_from_source raise NotImplementedError end