#44 Split mirrormanager checkin
Closed: Fixed Opened by tibbs.

Mirrormanager sadly cannot handle a host which mirrors everything. Specifically, the archive and alt modules have too many files, and hosts that mirror them may be kicked out of the mirror network when mirrormanager becomes overloaded.

A solution to this is to split, in mirrormanager, the alt and archive modules so that the system believes they come from separate hosts. Which is fine and doesn't affect the mirroring process. However, it does mean that mirrormanager checkin for those modules needs to happen separately, with a different checkin host.

But.... mirrormanager requires that a host report all modules it carries at once.

So:

  • If CHECKIN_HOST_ALT is set and fedora-alt is in the modules list, check it in separately.
  • Do the same with CHECKIN_HOST_ARCHIVE and fedora-archive.
  • Do all remaining modules as normal.
  • Factor out the checkin code to make this easy.
  • Document all of this.

So it turns out that mirrormanager should be OK if we check in each module/category separately. This conveniently also lets us only check in the modules which changed this run, which is super great because checkins take too long.

New plan:

  • Iterate over each modified module.
  • Look for CHECKIN_HOST_$module, if it exists, use it. Otherwise use CHECKIN_HOST.
  • Do a regular checkin for that.
  • Add a flag to force a checkin for all modules, even if nothing changed, in case the admin doesn't want to wait for a module to change to do a checkin.

This is now implemented. Mirrormanager is currently not behaving so testing isn't all that easy but I've verified that the payloads are what they should be.

Metadata Update from @tibbs:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

Metadata