Sha256: ffd7754ce76c63566f4dc7f62e0dfc3b4905acc6f18948e177bd1ecb295f1b92

Contents?: true

Size: 1.64 KB

Versions: 25

Compression:

Stored size: 1.64 KB

Contents

module Actions
  module Pulp3
    module Repository
      class SaveVersion < Pulp3::Abstract
        def plan(repository, options = {})
          fail "Cannot accept tasks and repository_details into Save Version." if options[:tasks].present? && options[:repository_details].present?
          plan_self(:repository_id => repository.id, :tasks => options[:tasks], :repository_details => options[:repository_details], :force_fetch_version => options.fetch(:force_fetch_version, false))
        end

        def run
          repo = ::Katello::Repository.find(input[:repository_id])

          if input[:force_fetch_version]
            version_href = fetch_version_href(repo)
          elsif input[:repository_details].present?
            version_href = input[:repository_details][:latest_version_href]
          elsif input[:tasks].present?
            version_href = input[:tasks].last[:created_resources].first
          else
            version_href = fetch_version_href(repo)
          end

          if version_href
            if repo.version_href != version_href || input[:force_fetch_version]
              output[:contents_changed] = true
              repo.update(:version_href => version_href)
            end
          else
            output[:contents_changed] = false
          end
        end

        def fetch_version_href(repo)
          # Fetch latest Pulp 3 repo version
          repo_backend_service = repo.backend_service(SmartProxy.pulp_primary)
          repo_href = repo_backend_service.repository_reference.repository_href
          repo_backend_service.api.repositories_api.read(repo_href).latest_version_href
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
katello-4.0.3 app/lib/actions/pulp3/repository/save_version.rb
katello-3.18.5 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.2.1 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.2 app/lib/actions/pulp3/repository/save_version.rb
katello-3.18.4 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.1.2 app/lib/actions/pulp3/repository/save_version.rb
katello-3.18.3.1 app/lib/actions/pulp3/repository/save_version.rb
katello-4.1.0.rc2.2 app/lib/actions/pulp3/repository/save_version.rb
katello-4.1.0.rc2.1 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.1.1 app/lib/actions/pulp3/repository/save_version.rb
katello-3.18.3 app/lib/actions/pulp3/repository/save_version.rb
katello-4.1.0.rc2 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.1 app/lib/actions/pulp3/repository/save_version.rb
katello-4.1.0.rc1.1 app/lib/actions/pulp3/repository/save_version.rb
katello-4.1.0.rc1 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.0 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.0.rc3.1 app/lib/actions/pulp3/repository/save_version.rb
katello-4.0.0.rc3 app/lib/actions/pulp3/repository/save_version.rb
katello-3.18.2.1 app/lib/actions/pulp3/repository/save_version.rb
katello-3.18.2 app/lib/actions/pulp3/repository/save_version.rb