CV publish can publish puppet before yum, causing provisioning issues
Let's say you have an application called MyApp, and you have a puppet module called "myapp" that says "install MyApp rpm version 15". The yum repo with the MyApp rpm and the puppet module that says "install myapp 15" are in the same CV.
Now it is time to go to myapp 16. You update the myapp yum repo with the new RPM and update the puppet module to say "install MyApp rpm version 16". You then publish a new CV version and promote it.
Puppet modules update pretty quickly, but yum repos can take longer. During this time, it's possible for new systems to get the latest version of the myapp puppet module, attempt to download myapp 16 from the yum repo, and fail.
Puppet code can reference rpms but not vice versa, so we probably want the puppet publishes to happen after the yum publishes. That way, any yum deps should already be in place when the updated puppet module lands.
Fixes #23672 - publish puppet repos last
Previously, CV repos would be sync/published in any order. This could
result in a situation where if your CV had a yum repo and a puppet
repo, your puppet repo could get published first while the yum repo
was still being synced. If the puppet repo had a module that referred
to an RPM in the yum repo that was being published, this could result
in puppet errors.
This commit re-orders CV publish so puppet repos are done last.
Additionally, capsule syncs are broken apart so the non-puppet repos
are synced in one concurrent block, and then once that's complete,
puppet repos are synced in a second concurrent block.