Bug 1770961 (mirrorlist-server) - Review Request: mirrorlist-server - Mirrorlist Server
Summary: Review Request: mirrorlist-server - Mirrorlist Server
Keywords:
Status: CLOSED ERRATA
Alias: mirrorlist-server
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-11-11 15:05 UTC by Igor Raits
Modified: 2019-11-29 00:53 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-29 00:53:31 UTC
Type: ---
ngompa13: fedora-review+


Attachments (Terms of Use)

Description Igor Raits 2019-11-11 15:05:34 UTC
Spec URL: https://ignatenkobrain.fedorapeople.org/for-review/mirrorlist-server.spec
SRPM URL: https://ignatenkobrain.fedorapeople.org/for-review/mirrorlist-server-0~git.1.6a8bcc6-1.fc32.src.rpm
Description:
The mirrorlist-server uses the data created by `MirrorManager2 <https://github.com/fedora-infra/mirrormanager2>`_ to answer client request for the "best" mirror.  This implementation of the mirrorlist-server is written in Rust. The original version of the mirrorlist-server was part of the MirrorManager2 repository and it is implemented using Python. While moving from Python2 to Python3 one of the problems was that the data exchange format (Python Pickle) did not support running the MirrorManager2 backend with Python2 and the mirrorlist frontend with Python3. To have a Pickle independent data exchange format protobuf was introduced. The first try to use protobuf in the python mirrorlist implementation required a lot more memory than the Pickle based implementation (3.5GB instead of 1.1GB). That is one of the reasons a new mirrorlist-server implementation was needed.  Another reason to rewrite the mirrorlist-server is its architecture. The Python based version requires the Apache HTTP server or something that can run the included wsgi. The wsgi talks over a socket to the actual mirrorlist-server. In Fedora's MirrorManager2 instance this runs in a container which runs behind HAProxy. This implementation in Rust directly uses a HTTP library to reduce the number of involved components.  In addition to being simpler this implementation also requires less memory than the Python version.
Fedora Account System Username: ignatenkobrain

Comment 1 Neal Gompa 2019-11-12 02:09:45 UTC
Package was generated through rust2rpm, simplifying the review considerably.

- Conforms to packaging guidelines (rust2rpm generated spec)
- license correct and valid
- only produces binaries, so only binary subpackage is produced

PACKAGE APPROVED.

Comment 2 Igor Raits 2019-11-12 07:36:48 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/mirrorlist-server

Comment 3 Fedora Update System 2019-11-19 18:52:07 UTC
FEDORA-2019-48a3fc7eb5 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-48a3fc7eb5

Comment 4 Fedora Update System 2019-11-20 11:33:34 UTC
FEDORA-2019-48a3fc7eb5 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-48a3fc7eb5

Comment 5 Fedora Update System 2019-11-21 02:27:11 UTC
mirrorlist-server-2.0.0-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-48a3fc7eb5

Comment 6 Fedora Update System 2019-11-29 00:53:31 UTC
mirrorlist-server-2.0.0-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.