Skip to content

Commit

Permalink
Fixes #19370 - only gen applicability for yum repos
Browse files Browse the repository at this point in the history
  • Loading branch information
jlsherrill committed Oct 9, 2017
1 parent 77c5ac1 commit 9e9b39d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
5 changes: 3 additions & 2 deletions app/lib/actions/katello/repository/sync.rb
Expand Up @@ -22,6 +22,7 @@ def plan(repo, pulp_sync_task_id = nil, options = {})
incremental = options.fetch(:incremental, false)
validate_contents = options.fetch(:validate_contents, false)
skip_metadata_check = options.fetch(:skip_metadata_check, false) || validate_contents
generate_applicability = repo.yum?

pulp_sync_options = {}
pulp_sync_options[:download_policy] = ::Runcible::Models::YumImporter::DOWNLOAD_ON_DEMAND if validate_contents
Expand All @@ -44,11 +45,11 @@ def plan(repo, pulp_sync_task_id = nil, options = {})
plan_action(Pulp::Repository::Download, :pulp_id => repo.pulp_id, :options => {:verify_all_units => true}) if validate_contents
plan_action(Katello::Repository::MetadataGenerate, repo, :force => true) if skip_metadata_check
plan_action(Katello::Repository::ErrataMail, repo, nil, contents_changed)
plan_action(Pulp::Repository::RegenerateApplicability, :pulp_id => repo.pulp_id, :contents_changed => contents_changed)
plan_action(Pulp::Repository::RegenerateApplicability, :pulp_id => repo.pulp_id, :contents_changed => contents_changed) if generate_applicability
end
plan_self(:id => repo.id, :sync_result => output, :skip_metadata_check => skip_metadata_check, :validate_contents => validate_contents,
:contents_changed => contents_changed)
plan_action(Katello::Repository::ImportApplicability, :repo_id => repo.id, :contents_changed => contents_changed)
plan_action(Katello::Repository::ImportApplicability, :repo_id => repo.id, :contents_changed => contents_changed) if generate_applicability
end
end

Expand Down
11 changes: 11 additions & 0 deletions test/actions/katello/repository_test.rb
Expand Up @@ -262,13 +262,24 @@ class SyncTest < TestBase
assert_action_planed_with(action, pulp_action_class,
pulp_id: repository.pulp_id, task_id: nil, source_url: nil, options: {})
assert_action_planed action, ::Actions::Katello::Repository::IndexContent
assert_action_planed action, ::Actions::Pulp::Repository::RegenerateApplicability
assert_action_planed action, ::Actions::Katello::Repository::ImportApplicability
assert_action_planed_with action, ::Actions::Katello::Repository::ErrataMail do |repo, _task_id, contents_changed|
contents_changed.must_be_kind_of Dynflow::ExecutionPlan::OutputReference
repo.id.must_equal repository.id
end
end

it 'skips applicability if non-yum' do
action = create_action action_class
docker_repository.url = 'http://foo.com/foo'
action.stubs(:action_subject).with(docker_repository)
plan_action action, docker_repository

refute_action_planed action, ::Actions::Pulp::Repository::RegenerateApplicability
refute_action_planed action, ::Actions::Katello::Repository::ImportApplicability
end

it 'passes the task id to pulp sync action when provided' do
action = create_action action_class
action.stubs(:action_subject).with(repository)
Expand Down

0 comments on commit 9e9b39d

Please sign in to comment.