Sha256: 91a9020471a667d55d09026122476f6c1f7e50282892d890c257607960abb538

Contents?: true

Size: 1.76 KB

Versions: 22

Compression:

Stored size: 1.76 KB

Contents

namespace :katello do
  namespace :upgrades do
    namespace '3.8' do
      desc "Clear checksum type for on-demand repositories"
      task :clear_checksum_type => %w(environment) do
        User.current = User.anonymous_admin

        Katello::RootRepository.yum_type.find_each do |root_repo|
          root_repo.transaction do
            if [::Runcible::Models::YumImporter::DOWNLOAD_ON_DEMAND, ::Runcible::Models::YumImporter::DOWNLOAD_BACKGROUND].include?(root_repo.download_policy) && root_repo.url.present? && URI(root_repo.url).scheme == 'file'
              root_repo.update_attribute(:download_policy, ::Runcible::Models::YumImporter::DOWNLOAD_IMMEDIATE)
              root_repo.repositories.each do |repo|
                importer = repo.importers[0]
                config = {
                  :download_policy => ::Runcible::Models::YumImporter::DOWNLOAD_IMMEDIATE
                }

                SmartProxy.pulp_primary.pulp_api.resources.repository.update_importer(repo.pulp_id, importer[:id], config) if (importer && importer[:id])
              end
            end

            if root_repo.on_demand? && root_repo.url.present?
              root_repo.update_attribute(:checksum_type, nil)

              root_repo.repositories.each do |repo|
                repo.update_attribute(:saved_checksum_type, nil)

                if repo.find_distributor[:config]&.delete(:checksum_type)
                  SmartProxy.pulp_primary.pulp_api.resources.repository.update_distributor(
                    repo.pulp_id, repo.find_distributor[:id], repo.find_distributor[:config])
                end
              # rubocop:disable Lint/SuppressedException
              rescue RestClient::ResourceNotFound
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
katello-3.18.5 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.4 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.3.1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.3 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-4.0.0.rc3 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.2.1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.2 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.17.3 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-4.0.0.rc2 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.1.1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.17.2 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-4.0.0.rc1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.0 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.17.1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.0.rc2.1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.0.rc2 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.17.0 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.18.0.rc1 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake
katello-3.17.0.rc2.2 lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake