[CentOS-devel] Upcoming changes to downloading AltArch .iso images

Mon Oct 8 09:12:27 UTC 2018
Anssi Johansson <avij at centosproject.org>

Hi, this notice is for those who employ some sort of an automation to
download AltArch (ie. aarch64, armhfp, i386, power9, ppc64, ppc64le)
CentOS 7 .iso/.raw.xz images from mirror.centos.org. Those using a
regular browser to download these images are not particularly affected,
and you can continue to the next message.

Previously, only main architecture .iso image downloads from
mirror.centos.org were redirected to isoredirect.centos.org, which then
displayed the user a list of nearby external mirrors. We will shortly
extend this configuration to cover AltArch image downloads as well, ie.
direct AltArch image downloads from mirror.centos.org will no longer be
possible. mirror.centos.org will still serve .rpm downloads for all
architectures as before.

There are two reasons for the change. First, to save bandwidth from
mirror.centos.org nodes directly managed by the CentOS Project. Most of
these mirror.centos.org hosts are also used for seeding the 600+
external mirrors we have. By directing some of that .iso download
traffic to external mirrors we can offer faster sync speeds for those
external mirrors, and for people downloading individual rpms from
mirror.centos.org. Second, most of those external mirrors offer faster
download speeds to end users than what could be achieved by downloading
from mirror.centos.org, so the users will benefit from this change as well.

The above change will be implemented some time between the releases of
RHEL 7.6 and CentOS 7.6.18xx, so that external mirrors syncing CentOS
7.6.18xx content would not need to fight for bandwidth between AltArch
.iso downloaders.

The other change, which has already been implemented, is related to how
isoredirect.centos.org behaves when accessed with curl or wget. If you
now do a "wget
http://isoredirect.centos.org/altarch/7/isos/i386/CentOS-7-i386-Everything-1804.iso",
isoredirect will notice that you are trying to download the file and
will redirect the request to the nearest external mirror. If you access
the same URL with a regular browser, you will see a list of nearby
mirrors from which you can pick your favourite mirror. wget will follow
redirects by default, but curl needs a --location switch to follow
redirects. If a filename is not specified, you will get a list of
mirrors regardless of the browser used.

So, combining the effects of the above two changes: If you currently use
some sort of a script that downloads AltArch .iso images from
mirror.centos.org, those requests will soon be served by external
mirrors instead of mirror.centos.org. In the case of wget you will only
see one additional request and you probably don't need to change
anything, but if you use curl, you must add the --location switch to
curl to follow the redirect issued by isoredirect.centos.org. If you
want to eliminate one redirect, you can change mirror.centos.org to
isoredirect.centos.org in your script. The rest of the URL is the same,
ie. /altarch/<release>/isos/<arch>/<filename.iso or .raw.xz>

As an aside, even though mirror.centos.org nodes are managed by the
CentOS Project, those servers and their hosting are donations from
various organizations. If you think your organization could donate an
additional server to share the load and to give us better geographical
coverage, please see https://wiki.centos.org/Donate

If you have questions regarding this change, please let me know. Thanks!