From e4aa9db03d63cfbfb591a1be7abf61bc93207222 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Wed, 9 Aug 2023 13:03:53 +0200 Subject: [PATCH] Remove pulp-repo-update command This was for Pulp 2 and is now irrelevant. --- .../pulp_repository_updater_command.rb | 21 --- lib/tool_belt/pulp_repository_updater.rb | 156 ------------------ tools.rb | 1 - 3 files changed, 178 deletions(-) delete mode 100644 lib/tool_belt/commands/pulp_repository_updater_command.rb delete mode 100644 lib/tool_belt/pulp_repository_updater.rb diff --git a/lib/tool_belt/commands/pulp_repository_updater_command.rb b/lib/tool_belt/commands/pulp_repository_updater_command.rb deleted file mode 100644 index 2fc2dae7..00000000 --- a/lib/tool_belt/commands/pulp_repository_updater_command.rb +++ /dev/null @@ -1,21 +0,0 @@ -require_relative 'commit_option' - -module ToolBelt - module Command - class PulpRepositoryUpdateCommand < Clamp::Command - - include ToolsOption - - parameter "katello_version", "Katello version of Pulp to compare against" - parameter "pulp_version", "Pulp stable version to compare against" - parameter "release", "'stable' or 'beta' Which pulp repository to use." - - def execute - package_updater = ToolBelt::PulpRepositoryUpdater.new(katello_version, pulp_version, release, systools) - package_updater.update_server - package_updater.update_client - end - - end - end -end diff --git a/lib/tool_belt/pulp_repository_updater.rb b/lib/tool_belt/pulp_repository_updater.rb deleted file mode 100644 index 46cfb856..00000000 --- a/lib/tool_belt/pulp_repository_updater.rb +++ /dev/null @@ -1,156 +0,0 @@ -require File.join(File.dirname(__FILE__), 'systools') - -module ToolBelt - class PulpRepositoryUpdater - - attr_accessor :katello_version, :pulp_version, :systools, :beta - - def initialize(katello_version, pulp_version, release, systools = SysTools.new) - self.katello_version = katello_version - self.pulp_version = pulp_version - self.systools = systools - self.beta = release == 'beta' - end - - def update_server - ['7'].each do |os_version| - output = compare_repos(os_version) - tag = koji_tag(os_version) - #untag_packages(removed_packages(output), tag) - add_packages(new_packages(output), tag) - tag_packages(updated_packages(output), tag) - end - end - - def update_client - ['6', '5'].each do |os_version| - output = compare_repos(os_version, true) - tag = koji_tag(os_version) - add_packages(new_packages(output), tag) - tag_packages(updated_packages(output), tag) - end - end - - private - - def compare_repos(os_version, client = false) - katello_repo = client ? katello_client_repo(os_version) : katello_pulp_repo(os_version) - setup_pulp_repo(os_version) - command = "repodiff --simple --old=#{katello_repo} --new=file://#{Dir.pwd}/tmp/" - @systools.syscall(command)[0] - end - - def setup_pulp_repo(os_version) - @systools.syscall('rm -rf tmp/') - Dir.mkdir('tmp') - Dir.chdir('tmp') do - @systools.syscall("wget #{pulp_repo(os_version)}") - index = File.read('index.html') - rpms = index.scan(/href=".*.rpm"/).collect { |link| link.split('href=')[1].gsub('"', '') } - rpms.each do |rpm| - @systools.syscall("wget #{pulp_repo(os_version)}#{rpm}") - end - @systools.syscall("sudo yum -y install createrepo") unless @systools.syscall('rpm -q createrepo')[1] - @systools.syscall("createrepo .") - end - end - - def removed_packages(output) - removed = [] - - output.split("\n").each do |line| - if line.start_with?('Removed package:') - removed << line.split('Removed package: ')[1] - end - end - - removed - end - - def new_packages(output) - added = [] - output.split("\n").each do |line| - if line.start_with?('New package:') - added << line.split('New package: ')[1] - end - end - - added - end - - def updated_packages(output) - updated = [] - - output.split("\n").each do |line| - if line.include?(' -> ') - updated << line.split(' -> ')[1] - end - end - - updated - end - - def katello_pulp_repo(os_version) - "https://fedorapeople.org/groups/katello/releases/source/srpm/#{@katello_version}/pulp/el#{os_version}/" - end - - def katello_client_repo(os_version) - os_name = os_version.include?('fedora') ? 'f' : 'el' - os_version = os_version.split('fedora-')[1] if os_version.include?('fedora') - "https://fedorapeople.org/groups/katello/releases/source/srpm/#{@katello_version}/client/#{os_name}#{os_version}/" - end - - def pulp_repo(os_version) - if beta - "https://repos.fedorapeople.org/repos/pulp/pulp/beta/#{@pulp_version}/#{os_version}/src/" - else - "https://repos.fedorapeople.org/repos/pulp/pulp/stable/#{@pulp_version}/#{os_version}/src/" - end - end - - def koji_tag(os_version) - prefix = katello_version == 'nightly' ? 'katello' : "katello-#{katello_version}" - - if os_version.include?('fedora') - "#{prefix}-thirdparty-pulp-fedora#{os_version.split('fedora-')[1]}" - else - "#{prefix}-thirdparty-pulp-rhel#{os_version}" - end - end - - def untag_packages(packages, tag) - puts "\n=== Removing Packages Phase ====\n" - puts "The following packages are being removed from #{tag}: " - puts "#{packages.join("\n")}" - - packages.each do |package| - @systools.execute("koji -c ~/.koji/katello-config untag-pkg #{tag} #{package}") - end - end - - def add_packages(packages, tag) - puts "" - puts "=== Adding Packages Phase ====" - puts "The following packages are being added as new to #{tag}: " - puts "#{packages.join("\n")}" - - packages.each do |package| - @systools.execute("koji -c ~/.koji/katello-config add-pkg #{tag} #{package.split(/-[0-9]/).first} --owner=jsherril") - end - - packages.each do |package| - @systools.execute("koji -c ~/.koji/katello-config tag-pkg #{tag} #{package}") - end - end - - def tag_packages(packages, tag) - puts "\n=== Tagging Packages Phase ====\n" - puts "The following packages are being tagged into #{tag}: " - puts "#{packages.join("\n")}" - - packages.each do |package| - @systools.execute("koji -c ~/.koji/katello-config tag-pkg #{tag} #{package}") - end - end - end -end diff --git a/tools.rb b/tools.rb index 6dd1ee1d..4f077b17 100755 --- a/tools.rb +++ b/tools.rb @@ -13,7 +13,6 @@ class MainCommand < Clamp::Command subcommand "branch", "Create and push the branch or tag for each repository as specified in the configuration", ToolBelt::Command::BranchCommand subcommand "branch-docs", "Generate docs for a given release", ToolBelt::Command::BranchDocsCommand subcommand "setup-environment", "Setup release environment for a given configuration", ToolBelt::Command::SetupEnvironmentCommand - subcommand "pulp-repo-update", "Update Katello's Pulp repository based on parameters", ToolBelt::Command::PulpRepositoryUpdateCommand subcommand "koji", "Commands for various Koji release related tasks", ToolBelt::Command::KojiCommand subcommand "mash-scripts", "Generate mash script files for a release", ToolBelt::Command::MashScriptsCommand subcommand "check-deprecation-warnings", "Check codebase for outdated deprecation warnings", ToolBelt::Command::CheckDeprecationWarningsCommand