New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate proper metalink for yum repositories #1254

Open
marmarek opened this Issue Sep 29, 2015 · 8 comments

Comments

Projects
None yet
2 participants
@marmarek
Member

marmarek commented Sep 29, 2015

The current metalinks are not perfect (read: doesn't work).

  • for dom0 (fc20) yum tries to download metalink.xml (even if repository definition contains bare "metalink")
  • for fc21 VM, yum complains about missing timestamp ("No timestamp for file").

Additionally, it would be better to provide them over HTTPS (but point at repositories over HTTP) - currently setting HTTPS results in 404. See #891 for rationale.

@woju

This comment has been minimized.

Show comment
Hide comment
@woju

woju Sep 29, 2015

Member

On Tue, Sep 29, 2015 at 11:35:03AM -0700, Marek Marczykowski-Górecki wrote:

Assigned #1254 to @woju.

What's the deadline? R3.0 release?

Member

woju commented Sep 29, 2015

On Tue, Sep 29, 2015 at 11:35:03AM -0700, Marek Marczykowski-Górecki wrote:

Assigned #1254 to @woju.

What's the deadline? R3.0 release?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Sep 29, 2015

Member

On Tue, Sep 29, 2015 at 11:59:05AM -0700, Wojtek Porczyk wrote:

On Tue, Sep 29, 2015 at 11:35:03AM -0700, Marek Marczykowski-Górecki wrote:

Assigned #1254 to @woju.

What's the deadline? R3.0 release?

No, its for R3.1.

Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Member

marmarek commented Sep 29, 2015

On Tue, Sep 29, 2015 at 11:59:05AM -0700, Wojtek Porczyk wrote:

On Tue, Sep 29, 2015 at 11:35:03AM -0700, Marek Marczykowski-Górecki wrote:

Assigned #1254 to @woju.

What's the deadline? R3.0 release?

No, its for R3.1.

Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

@marmarek marmarek modified the milestones: Release 4.0, Release 3.1 Feb 8, 2016

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 13, 2017

Member

@woju you've missed deadline for the release again.

Member

marmarek commented Jul 13, 2017

@woju you've missed deadline for the release again.

@marmarek marmarek modified the milestones: Release 4.1, Release 4.0 Jul 13, 2017

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Apr 3, 2018

Member

@woju bump

Member

marmarek commented Apr 3, 2018

@woju bump

woju added a commit to woju/qubes-linux-yum that referenced this issue Apr 16, 2018

mkmetalink.py rewritten
Usage:
    ./mkmetalink.py mirrors.list r4.0/current/vm/fc26/repodata/repomd.xml \
        > r4.0/current/vm/fc26/repodata/repomd.xml.metalink

QubesOS/qubes-issues#1254

@woju woju referenced this issue in QubesOS/qubes-linux-yum Apr 16, 2018

Merged

Fix metalink generator #4

woju added a commit to woju/qubes-linux-yum that referenced this issue Apr 16, 2018

woju added a commit to woju/qubes-linux-yum that referenced this issue Apr 16, 2018

marmarek added a commit to marmarek/qubes-linux-yum that referenced this issue Apr 17, 2018

Integrate metalink generator into repo update scripts
Call it just after regenerating repomd.xml. Since it needs relative
path, adjust how update_repo-arg.sh is called.

QubesOS/qubes-issues#1254
@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Apr 17, 2018

Member

It's better, but still not perfect. When you use Debian stretch based updatevm (for dom0 updates):

Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 288, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 140, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 436, in doCommands
    self._getTs(needTsRemove)
  File "/usr/lib/python2.7/dist-packages/yum/depsolve.py", line 101, in _getTs
    self._getTsInfo(remove_only)
  File "/usr/lib/python2.7/dist-packages/yum/depsolve.py", line 112, in _getTsInfo
    pkgSack = self.pkgSack
  File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 892, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 673, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.7/dist-packages/yum/repos.py", line 294, in populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 168, in populate
    if self._check_db_version(repo, mydbtype):
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 226, in _check_db_version
    return repo._check_db_version(mdtype)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1268, in _check_db_version
    repoXML = self.repoXML
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1467, in <lambda>
    repoXML = property(fget=lambda self: self._getRepoXML(),
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1459, in _getRepoXML
    self._loadRepoXML(text=self)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1449, in _loadRepoXML
    return self._groupLoadRepoXML(text, self._mdpolicy2mdtypes())
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1424, in _groupLoadRepoXML
    if self._commonLoadRepoXML(text):
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1242, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1020, in _getFileRepoXML
    size=102400) # setting max size as 100K
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 835, in _getFile
    result = self.grab.urlgrab(misc.to_utf8(relative), local,
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 531, in <lambda>
    grab = property(lambda self: self._getgrab())
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 526, in _getgrab
    self._setupGrab()
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 496, in _setupGrab
    self._grab = mgclass(self._grabfunc, self.urls,
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 711, in <lambda>
    urls = property(fget=lambda self: self._geturls(),
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 708, in _geturls
    self._baseurlSetup()
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 654, in _baseurlSetup
    mirrorurls.extend(list(self.metalink_data.urls()))
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 751, in <lambda>
    metalink_data = property(fget=lambda self: self._getMetalink(),
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 738, in _getMetalink
    self._metalink = metalink.MetaLinkRepoMD(result)
  File "/usr/lib/python2.7/dist-packages/yum/metalink.py", line 209, in __init__
    max_connections = int(celem.get("maxconnections"))
TypeError: int() argument must be a string or a number, not 'NoneType'
Usage: "yumdownloader [options] package1 [package2] [package..]

And the same when you use sys-whonix (Debian jessie).

Member

marmarek commented Apr 17, 2018

It's better, but still not perfect. When you use Debian stretch based updatevm (for dom0 updates):

Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 288, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 140, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 436, in doCommands
    self._getTs(needTsRemove)
  File "/usr/lib/python2.7/dist-packages/yum/depsolve.py", line 101, in _getTs
    self._getTsInfo(remove_only)
  File "/usr/lib/python2.7/dist-packages/yum/depsolve.py", line 112, in _getTsInfo
    pkgSack = self.pkgSack
  File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 892, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 673, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.7/dist-packages/yum/repos.py", line 294, in populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 168, in populate
    if self._check_db_version(repo, mydbtype):
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 226, in _check_db_version
    return repo._check_db_version(mdtype)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1268, in _check_db_version
    repoXML = self.repoXML
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1467, in <lambda>
    repoXML = property(fget=lambda self: self._getRepoXML(),
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1459, in _getRepoXML
    self._loadRepoXML(text=self)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1449, in _loadRepoXML
    return self._groupLoadRepoXML(text, self._mdpolicy2mdtypes())
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1424, in _groupLoadRepoXML
    if self._commonLoadRepoXML(text):
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1242, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1020, in _getFileRepoXML
    size=102400) # setting max size as 100K
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 835, in _getFile
    result = self.grab.urlgrab(misc.to_utf8(relative), local,
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 531, in <lambda>
    grab = property(lambda self: self._getgrab())
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 526, in _getgrab
    self._setupGrab()
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 496, in _setupGrab
    self._grab = mgclass(self._grabfunc, self.urls,
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 711, in <lambda>
    urls = property(fget=lambda self: self._geturls(),
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 708, in _geturls
    self._baseurlSetup()
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 654, in _baseurlSetup
    mirrorurls.extend(list(self.metalink_data.urls()))
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 751, in <lambda>
    metalink_data = property(fget=lambda self: self._getMetalink(),
  File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 738, in _getMetalink
    self._metalink = metalink.MetaLinkRepoMD(result)
  File "/usr/lib/python2.7/dist-packages/yum/metalink.py", line 209, in __init__
    max_connections = int(celem.get("maxconnections"))
TypeError: int() argument must be a string or a number, not 'NoneType'
Usage: "yumdownloader [options] package1 [package2] [package..]

And the same when you use sys-whonix (Debian jessie).

woju added a commit to woju/qubes-linux-yum that referenced this issue Apr 18, 2018

@woju woju referenced this issue in QubesOS/qubes-linux-yum Apr 18, 2018

Merged

mkmetalink.py: fix for yumdownloader in stretch and jessie #5

@woju

This comment has been minimized.

Show comment
Hide comment
@woju

woju Apr 18, 2018

Member

JFYI last day I run a script which periodically fetched r4.0/current/dom0/fc25/repodata/repomd.xml from all mirrors once per 10 min. Below are first 7 hexdigits of sha-256 digests (sorry for pasta).

In this sample there were only about 30 min in more than 33 hours without any one mirror lagging. This is not surprising, since we tell mirrors to sync once per 24 hours and in any case not more than once per 6 hours.

Fedora has "alternates" for that (for example see any metalink for a supported release), when they specify some past checksums. The advantage is that the traffic does not bounce off the mirror until it gets up to date. The obvious disadvantage is that for some time some people won't get new packets even if they exist. I don't know how often they update repomd.xml and how often their mirrors sync, but if they update packets more frequently than they sync mirrors, I understand that for the this is reasonable thing to do.

Do we want those alternates? For those, we'd have to have previous repomd.xml (last one or even previous ones) at the time of regenerating metalink.

measurement results
  0 https://yum.qubes-os.org/
  1 https://mirror.hackingand.coffee/qubes/repo/yum
  2 https://ftp.halifax.rwth-aachen.de/qubes/repo/yum
  3 https://mirrors.dotsrc.org/qubes/repo/yum
  4 https://mirrors.edge.kernel.org/qubes/repo/yum
  5 https://ftp.acc.umu.se/mirror/qubes-os.org/repo/yum
  6 https://mirrors.ukfast.co.uk/sites/qubes-os.org/repo/yum
TIMESTAMP                  0       1       2       3       4       5       6
2018-04-17 00:03:19Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:13:20Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:23:22Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:33:23Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:43:24Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:53:25Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:03:26Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:13:27Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:23:28Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:33:29Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:43:30Z b515661 249a5ad dd83842 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 01:53:31Z b515661 249a5ad dd83842 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:03:32Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:13:33Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:23:34Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:33:35Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:43:36Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:53:37Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:03:38Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:13:39Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:23:40Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:33:41Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:43:42Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:53:43Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:03:44Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:13:50Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:23:51Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:33:51Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:43:53Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:53:54Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:03:55Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:13:55Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:23:56Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:33:57Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:43:58Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:53:59Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:04:00Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:14:01Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:24:02Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:34:03Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:44:04Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:54:05Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:04:06Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:14:07Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:24:08Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:34:09Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:44:10Z 0210295 249a5ad b515661 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 07:54:11Z 0210295 0210295 b515661 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:04:12Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:14:13Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:24:14Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:34:15Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:44:16Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:54:17Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:04:18Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:14:19Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:24:20Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:34:21Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:44:22Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:54:23Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:04:24Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:14:25Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:24:27Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:34:28Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:44:29Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:54:30Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:04:31Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:14:32Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:24:33Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:34:34Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:44:35Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 0210295
2018-04-17 11:54:36Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:04:37Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:14:38Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:24:39Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:34:40Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:44:41Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:54:42Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:04:43Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:14:44Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:24:46Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:34:46Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:44:48Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:54:49Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:04:50Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:14:51Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:24:52Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:34:53Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:44:54Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:54:55Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:04:55Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:14:56Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:24:57Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:34:58Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:44:59Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:55:00Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:05:01Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:15:02Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:25:03Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:35:04Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:45:05Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:55:06Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:05:09Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:15:10Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:25:11Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:35:12Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:45:13Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:55:14Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:05:15Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:15:16Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:25:17Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:35:18Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:45:19Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:55:20Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:05:21Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:15:22Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:25:23Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:35:34Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:45:35Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:55:36Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:05:37Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:15:38Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:25:39Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:35:40Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:45:41Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:55:42Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:05:43Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:15:44Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:25:45Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:35:46Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:45:47Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:55:48Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:05:49Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:15:50Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:25:51Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:35:52Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:45:53Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:55:54Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:05:55Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:15:56Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:25:57Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:36:02Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:46:03Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 b36f98d
2018-04-17 23:56:04Z b36f98d 0210295 0210295 0210295 b36f98d 0210295 b36f98d
2018-04-18 00:06:05Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:16:06Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:26:07Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:36:08Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:46:09Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:56:10Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:06:11Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:16:13Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:26:13Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:36:14Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:46:15Z b36f98d 0210295 0210295 b36f98d b36f98d b36f98d b36f98d
2018-04-18 01:56:16Z b36f98d 0210295 0210295 b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:06:17Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:16:18Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:26:19Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:36:20Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:46:21Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:56:22Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:06:23Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:16:24Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:26:25Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:36:26Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:46:27Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:56:28Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:06:29Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:16:30Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:26:31Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:36:32Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:46:33Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:56:34Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:06:35Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:16:36Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:26:37Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:36:38Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:46:39Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:56:40Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:06:41Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:16:42Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:26:43Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:36:44Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:46:45Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:56:46Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:06:47Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:16:48Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:26:49Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:36:50Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:46:51Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:56:52Z b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:06:53Z b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:16:54Z b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:26:55Z ec03a73 b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:36:56Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:46:57Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:56:58Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:06:59Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:17:00Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:27:01Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:37:03Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
Member

woju commented Apr 18, 2018

JFYI last day I run a script which periodically fetched r4.0/current/dom0/fc25/repodata/repomd.xml from all mirrors once per 10 min. Below are first 7 hexdigits of sha-256 digests (sorry for pasta).

In this sample there were only about 30 min in more than 33 hours without any one mirror lagging. This is not surprising, since we tell mirrors to sync once per 24 hours and in any case not more than once per 6 hours.

Fedora has "alternates" for that (for example see any metalink for a supported release), when they specify some past checksums. The advantage is that the traffic does not bounce off the mirror until it gets up to date. The obvious disadvantage is that for some time some people won't get new packets even if they exist. I don't know how often they update repomd.xml and how often their mirrors sync, but if they update packets more frequently than they sync mirrors, I understand that for the this is reasonable thing to do.

Do we want those alternates? For those, we'd have to have previous repomd.xml (last one or even previous ones) at the time of regenerating metalink.

measurement results
  0 https://yum.qubes-os.org/
  1 https://mirror.hackingand.coffee/qubes/repo/yum
  2 https://ftp.halifax.rwth-aachen.de/qubes/repo/yum
  3 https://mirrors.dotsrc.org/qubes/repo/yum
  4 https://mirrors.edge.kernel.org/qubes/repo/yum
  5 https://ftp.acc.umu.se/mirror/qubes-os.org/repo/yum
  6 https://mirrors.ukfast.co.uk/sites/qubes-os.org/repo/yum
TIMESTAMP                  0       1       2       3       4       5       6
2018-04-17 00:03:19Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:13:20Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:23:22Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:33:23Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:43:24Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 00:53:25Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:03:26Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:13:27Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:23:28Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:33:29Z 195ba6e 249a5ad dd83842 dd83842 195ba6e 195ba6e 195ba6e
2018-04-17 01:43:30Z b515661 249a5ad dd83842 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 01:53:31Z b515661 249a5ad dd83842 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:03:32Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:13:33Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:23:34Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:33:35Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:43:36Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 02:53:37Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:03:38Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:13:39Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:23:40Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:33:41Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:43:42Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 03:53:43Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:03:44Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:13:50Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:23:51Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:33:51Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:43:53Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 04:53:54Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:03:55Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:13:55Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:23:56Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:33:57Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:43:58Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 05:53:59Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:04:00Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:14:01Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:24:02Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:34:03Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:44:04Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 06:54:05Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:04:06Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:14:07Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:24:08Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:34:09Z 0210295 249a5ad b515661 195ba6e 195ba6e 195ba6e 195ba6e
2018-04-17 07:44:10Z 0210295 249a5ad b515661 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 07:54:11Z 0210295 0210295 b515661 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:04:12Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:14:13Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:24:14Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:34:15Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:44:16Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 08:54:17Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:04:18Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:14:19Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:24:20Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:34:21Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:44:22Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 09:54:23Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:04:24Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:14:25Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:24:27Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:34:28Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:44:29Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 10:54:30Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:04:31Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:14:32Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:24:33Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:34:34Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 195ba6e
2018-04-17 11:44:35Z 0210295 0210295 0210295 0210295 195ba6e 195ba6e 0210295
2018-04-17 11:54:36Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:04:37Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:14:38Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:24:39Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:34:40Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:44:41Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 12:54:42Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:04:43Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:14:44Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:24:46Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:34:46Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:44:48Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 13:54:49Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:04:50Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:14:51Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:24:52Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:34:53Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:44:54Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 14:54:55Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:04:55Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:14:56Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:24:57Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:34:58Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:44:59Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 15:55:00Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:05:01Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:15:02Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:25:03Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:35:04Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:45:05Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 16:55:06Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:05:09Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:15:10Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:25:11Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:35:12Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:45:13Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 17:55:14Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:05:15Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:15:16Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:25:17Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:35:18Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:45:19Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 18:55:20Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:05:21Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:15:22Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:25:23Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:35:34Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:45:35Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 19:55:36Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:05:37Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:15:38Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:25:39Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:35:40Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:45:41Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 20:55:42Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:05:43Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:15:44Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:25:45Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:35:46Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:45:47Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 21:55:48Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:05:49Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:15:50Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:25:51Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:35:52Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:45:53Z 0210295 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 22:55:54Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:05:55Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:15:56Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:25:57Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:36:02Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 0210295
2018-04-17 23:46:03Z b36f98d 0210295 0210295 0210295 195ba6e 0210295 b36f98d
2018-04-17 23:56:04Z b36f98d 0210295 0210295 0210295 b36f98d 0210295 b36f98d
2018-04-18 00:06:05Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:16:06Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:26:07Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:36:08Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:46:09Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 00:56:10Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:06:11Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:16:13Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:26:13Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:36:14Z b36f98d 0210295 0210295 0210295 b36f98d b36f98d b36f98d
2018-04-18 01:46:15Z b36f98d 0210295 0210295 b36f98d b36f98d b36f98d b36f98d
2018-04-18 01:56:16Z b36f98d 0210295 0210295 b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:06:17Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:16:18Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:26:19Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:36:20Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:46:21Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 02:56:22Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:06:23Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:16:24Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:26:25Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:36:26Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:46:27Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 03:56:28Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:06:29Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:16:30Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:26:31Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:36:32Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:46:33Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 04:56:34Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:06:35Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:16:36Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:26:37Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:36:38Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:46:39Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 05:56:40Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:06:41Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:16:42Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:26:43Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:36:44Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:46:45Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 06:56:46Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:06:47Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:16:48Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:26:49Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:36:50Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:46:51Z b36f98d 0210295 b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 07:56:52Z b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:06:53Z b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:16:54Z b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:26:55Z ec03a73 b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:36:56Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:46:57Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 08:56:58Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:06:59Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:17:00Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:27:01Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
2018-04-18 09:37:03Z a7d342b b36f98d b36f98d b36f98d b36f98d b36f98d b36f98d
@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Apr 18, 2018

Member

Do we want those alternates? For those, we'd have to have previous repomd.xml (last one or even previous ones) at the time of regenerating metalink.

You can use previous repomd.xml.metalink for that. And keep previous hashes for example from the past 24h (use timestamp, not alternates count, to work correctly with multiple packages being uploaded in short period of time).

Member

marmarek commented Apr 18, 2018

Do we want those alternates? For those, we'd have to have previous repomd.xml (last one or even previous ones) at the time of regenerating metalink.

You can use previous repomd.xml.metalink for that. And keep previous hashes for example from the past 24h (use timestamp, not alternates count, to work correctly with multiple packages being uploaded in short period of time).

@woju

This comment has been minimized.

Show comment
Hide comment
@woju

woju Apr 18, 2018

Member

Sure, we can. But still: do we want that?

Member

woju commented Apr 18, 2018

Sure, we can. But still: do we want that?

woju added a commit to woju/qubes-linux-yum that referenced this issue Apr 19, 2018

woju added a commit to woju/qubes-linux-yum that referenced this issue Apr 19, 2018

woju added a commit to woju/qubes-linux-yum that referenced this issue Apr 19, 2018

qubesmirror: add alternates support
mkmetalink.py now accepts --old-metalink to reap alternates from

QubesOS/qubes-issues#1254

marmarek added a commit to QubesOS/qubes-infrastructure-mirrors that referenced this issue May 4, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment