From Mageia wiki
Jump to: navigation, search


Note:
This feature has been cloned from Feature:Migrate to MirrorBrain and then adjusted for MirrorManager2, a maintained MirrorBrain alternative (MirrorBrain looks dead)


Summary

Migrate mirror management to MirrorManager2 (after adjusting it for Mageia) and start generating metalinks for DNF to use for intelligent mirror selection.

Owner

The owner of Feature:Migrate to MirrorBrain was:

  • Name: Neal Gompa
  • Email: ngompa13@gmail.com

However, he lacks time nowadays, so a new owner is needed for Feature:Migrate to MirrorManager2:

  • Name:
  • Email:

Resources

This will require efforts by the Mageia sysadmins to migrate our mirror database into MirrorManager2 and convert the existing Yum-style mirrorlist endpoint to a MirrorManager2 managed one, as well as introduce a new endpoint for getting the metalink for DNF and PackageKit.

The urpmi and installer developers will need to change the configuration of urpmi to use the MirrorManager2-managed auto-redirector URL, and the packager of mageia-repos will need to change the repo files to use the metalink for DNF and PackageKit to use.

The web team and the sysadmin team will need to migrate the web downloads for ISOs to MirrorManager2 as well.

Current status

  • Targeted release: Mageia 10
  • Last updated: 2024/11/16
  • Percentage of completion: 0%

Detailed Description

Per the MirrorManager2 website:

MirrorManager2 is a rewrite of mirrormanager using flask and SQLAlchemy.
 
MirrorManager is the application that keeps track of the nearly 400 public mirrors, and over 300 private mirrors, that carry Fedora, EPEL, and RHEL content, and is used by rpmfusion.org, a third party repository. It automatically selects the "best" mirror for a given user based on a set of fallback heuristics.
The complete MirrorManager functionality requires generate-mirrorlist-cache and mirrorlist-server which can be found at https://github.com/adrianreber/mirrorlist-server.

This change involves migrating every end point where mirror selection occurs to being managed by MirrorManager2 in some fashion (web downloads, the installer, urpmi, PackageKit/DNF) to massively improve the reliability of mirror selection and availability of Mageia content.

Why it would be good for Mageia to use it

Mageia's current mirror infrastructure has been crumbling under pressure for some time now. Among other things, users get a bad experience from bad mirrors randomly downgrading or missing necessary content, causing really unexpected things to occur on their systems.

It's exponentially worse for Cauldron users, where it's a hit-or-miss affair (mostly misses) to get up to date Cauldron content, especially for users in the Americas and Asia, where we have fewer mirrors in general.

MirrorManager2 improves this experience by tracking mirrors and automatically filtering the list based on content availability, preventing users from seeing bad mirrors on a regular basis. In addition, the content redirector portion automatically determines a good, up to date mirror to use based on a number of factors about your connection, which ensures that you get a good experience for downloading content directly (through web browsers or through urpmi).

Test case

  • Adding urpmi distrib media should give you MirrorManager2 redirector
  • The existing yum-style mirrorlist endpoint should work as-is with MirrorManager2
  • The new metalink endpoint for rpm-md repos should work with PackageKit/DNF.

Tasks

  • Deploy and activate MirrorManager2
  • Migrate the mirror database from Mirmon to MirrorManager2
  • Migrate the Yum style mirrorlist endpoint to MirrorManager2 managed mirrorlist
  • Migrate the urpmi distrib data to the MirrorManager2 redirector URL (download.mageia.org or something similar)


Software / Packages Dependencies

  • Needing to be packaged:
    • MirrorManager2
    • generate-mirrorlist-cache
    • mirrorlist-server

What could disrupt development of this new feature

If the MirrorManager2 deployment cannot be completed and mirror selector endpoints migrated, then this feature cannot be fully implemented.

Planning

Early inclusion into Mageia 10 would allow for good appropriation of administrator resources to roll this out and make sure everything works.

Contingency

If this fails to be ready for Mageia 10, then we fall back to our current infrastructure.

Release Notes

The release notes should indicate that Mageia now offers enhanced automatic mirror selection powered by MirrorManager2.

Documentation

Associated Bugs

Packager comments