module ForemanMaintain::Concerns::Upstream
Public Instance Methods
foreman_release_pkg_url(version)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 16 def foreman_release_pkg_url(version) if el? "#{server_url}releases/#{version}/#{el_short_name}/x86_64/foreman-release.rpm" elsif debian_or_ubuntu? "#{server_url}pool/#{os_version_codename}/#{version}"\ '/f/foreman-release/foreman-release.deb' else raise 'Unknown operating system detected!' end end
katello_pkgs_url(katello_version)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 27 def katello_pkgs_url(katello_version) "#{server_url}katello/#{katello_version}/katello/#{el_short_name}/x86_64/" end
katello_release_pkg(version)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 31 def katello_release_pkg(version) "#{katello_pkgs_url(katello_version_by_foreman(version))}katello-repos-latest.rpm" end
repoids_and_urls()
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 85 def repoids_and_urls repoids_and_urls = {} repository_manager.enabled_repos.each do |repo, url| repo_urls.each do |regex| repoids_and_urls[repo] = url if url&.match?(regex) end end repoids_and_urls end
server_url()
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 6 def server_url if el? 'https://yum.theforeman.org/' elsif debian_or_ubuntu? 'https://deb.theforeman.org/' else raise 'Unknown operating system detected!' end end
setup_repositories(version)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 73 def setup_repositories(version) # Documentation needs update with respect to new env vars activation_key = ENV['ACTIVATION_KEY'] org = ENV['FOREMAN_ORG'] if activation_key use_activation_key(activation_key, org) else update_foreman_release_pkg(version) update_katello_release_pkg(version) end end
update_foreman_release_pkg(version)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 57 def update_foreman_release_pkg(version) pkg_url = foreman_release_pkg_url(version) if el? update_release_pkg_el(pkg_url) elsif debian_or_ubuntu? update_release_pkg_deb(pkg_url) end end
update_katello_release_pkg(version)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 66 def update_katello_release_pkg(version) if feature(:katello) pkg_url = katello_release_pkg(version) update_release_pkg_el(pkg_url) end end
update_release_pkg_deb(pkg_url)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 39 def update_release_pkg_deb(pkg_url) Dir.mktmpdir do |dir| release_file_path = "#{dir}/foreman-release.deb" exit_status, = execute_with_status("wget -q -O #{release_file_path} #{pkg_url}") if exit_status == 0 package_manager.install(release_file_path, assumeyes: true) else warn! "Couldn't install Foreman release package: #{pkg_url}" end end end
update_release_pkg_el(pkg_url)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 35 def update_release_pkg_el(pkg_url) package_manager.install(pkg_url, assumeyes: true) end
use_activation_key(activation_key, org)
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 51 def use_activation_key(activation_key, org) org_options = org ? %(--org #{shellescape(org)}) : '' execute!(%(subscription-manager register #{org_options}\ --activationkey #{shellescape(activation_key)} --force)) end
Private Instance Methods
repo_urls()
click to toggle source
# File lib/foreman_maintain/concerns/upstream.rb, line 97 def repo_urls [%r{yum.theforeman.org/*}, %r{yum.puppetlabs.com/*}] end