Sha256: ddf2f295505a5628f920c507dbe3026a7cdae59fda14d48b73b5c1036afca103

Contents?: true

Size: 1.38 KB

Versions: 9

Compression:

Stored size: 1.38 KB

Contents

module Actions
  module Pulp
    module Repository
      class DistributorPublish < Pulp::AbstractAsyncTask
        input_format do
          param :pulp_id
          param :distributor_type_id
          param :source_pulp_id
          param :dependency
        end

        def invoke_external_task
          pulp_extensions.repository.
              publish(input[:pulp_id],
                      distributor_id(input[:pulp_id], input[:distributor_type_id]),
                      distributor_config)
        end

        def distributor_id(pulp_id, distributor_type_id)
          distributor = repo(pulp_id)["distributors"].find do |dist|
            dist["distributor_type_id"] == distributor_type_id
          end
          distributor['id']
        end

        def distributor_config
          if input[:distributor_type_id] == Runcible::Models::YumCloneDistributor.type_id
            { override_config: { source_repo_id: input[:source_pulp_id],
                                 source_distributor_id: source_distributor_id} }
          end
        end

        def source_distributor_id
          distributor_id(input[:source_pulp_id], Runcible::Models::YumDistributor.type_id)
        end

        def repo(pulp_id)
          pulp_extensions.repository.retrieve_with_details(pulp_id)
        end

        def humanized_name
          _("Repository metadata publish")
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
katello-2.4.5 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.4 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.3 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.2 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.1 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.0 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.0.rc3 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.0.rc2 app/lib/actions/pulp/repository/distributor_publish.rb
katello-2.4.0.rc1 app/lib/actions/pulp/repository/distributor_publish.rb