Bug #18706
closedRace condition among capsule sync tasks to destroy/create pulp repos
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1391298
Description of problem:
Bulk capsule syncs failed when they were trying to remove the same pulp repos ('Actions::Katello::CapsuleContent::RemoveUnneededRepos').
Please see the below task information:
'Actions::Katello::Repository::CapsuleGenerateAndSync'
there are 7 Actions::Katello::CapsuleContent::Sync sub tasks in it matches the number of capsules in pnt-sysops org
each one of the capsulecontent::sync have one 'Actions::Katello::CapsuleContent::ConfigureCapsule'
and a lot of 'Actions::Pulp::Repository::Refresh'
under these 'Actions::Pulp::Repository::Refresh', some of them have skipped 'Actions::Pulp::Repository::RefreshDistributor'
under 'Actions::Katello::CapsuleContent::ConfigureCapsule', there is one 'Actions::Katello::CapsuleContent::RemoveUnneededRepos', where lots and lots of 'Actions::Pulp::Repository::Destroy' is in listed
'Actions::Pulp::Repository::Destroy' <-- lots of these are skipped or failed
The tasks paused after a whole bunch of repo::destroy failed. It can not be resumed until the user literally pressed the skip link next to every single errorred repo:destroy. The parent task can be resumed only when all of those errorred ones are skipped. After resuming, user got the Repo::create errors.
More information:
http://paste-platops.itos.redhat.com/pzpwqg41u/yyulhy#line-8
http://paste-platops.itos.redhat.com/p6cfi7rzn/sqiixo#line-15