Retry pulp content push commands on specific errors
This MR attempts to work around the concurrency issues observed here.
The TL;DR is that uploading the same package to different repos in pulp at the same time can trigger a race condition. The fix here is to simply retry the failing command. Not the most graceful or efficient, but effective.
The implementation is a simplified version of the packagecloud::push target implementation here. The main difference is that there isn't a separate retryable error type. This implementation also doesn't handle ignorable errors because there aren't any so far, but that can be added easily.
Unit tests written by Duo.
Pipeline with this change here.
Edited by Axel von Bertoldi