Sha256: 4e30225c969cfc682e07e9b8c1e765ad915a1eb30a2ffa3a94d69e7265efbb02

Contents?: true

Size: 1.97 KB

Versions: 6

Compression:

Stored size: 1.97 KB

Contents

module Katello
  module Pulp
    class Repository
      class Yum < ::Katello::Pulp::Repository
        def generate_master_importer
          config = {
            download_policy: root.download_policy,
            remove_missing: root.mirror_on_sync?,
            feed: root.url,
            type_skip_list: root.ignorable_content
          }
          importer_class.new(config.merge(master_importer_connection_options))
        end

        def generate_mirror_importer
          config = {
            download_policy: smart_proxy_download_policy,
            remove_missing: true,
            feed: external_url(true)
          }
          importer_class.new(config.merge(mirror_importer_connection_options))
        end

        def partial_repo_path
          "/pulp/repos/#{repo.relative_path}/".sub('//', '/')
        end

        def importer_class
          Runcible::Models::YumImporter
        end

        def generate_distributors
          yum_dist_id = repo.pulp_id
          options = {
            protected: true,
            id: yum_dist_id,
            auto_publish: true,
            checksum_type: repo.saved_checksum_type || root.checksum_type
          }
          distributors = [Runcible::Models::YumDistributor.new(repo.relative_path, root.unprotected, true, options)]

          if smart_proxy.pulp_master?
            distributors << Runcible::Models::YumCloneDistributor.new(:id => "#{repo.pulp_id}_clone",
                                                                   :destination_distributor_id => yum_dist_id)
            distributors << Runcible::Models::ExportDistributor.new(false, false, repo.relative_path)
          end
          distributors
        end

        def smart_proxy_download_policy
          policy = smart_proxy.download_policy || Setting[:default_proxy_download_policy]
          if policy == ::SmartProxy::DOWNLOAD_INHERIT
            self.root.download_policy
          else
            policy
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
katello-3.10.2 app/services/katello/pulp/repository/yum.rb
katello-3.10.1.1 app/services/katello/pulp/repository/yum.rb
katello-3.10.1 app/services/katello/pulp/repository/yum.rb
katello-3.10.0 app/services/katello/pulp/repository/yum.rb
katello-3.10.0.rc1.1 app/services/katello/pulp/repository/yum.rb
katello-3.10.0.rc1 app/services/katello/pulp/repository/yum.rb