Re: Trial to use a CDN for download.opensuse.org
A slow mirror I could live with, but... an unreachable one ううん. This does not actually look like cdn is really used in this particular instance. # wget http://cdn.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsourc... -c --2023-09-30 17:19:37-- http://cdn.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsourc... Resolving cdn.opensuse.org (cdn.opensuse.org)... 151.101.109.91, 2a04:4e42:1a::347 Connecting to cdn.opensuse.org (cdn.opensuse.org)|151.101.109.91|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://mirrorcache-jp.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsource-0.9.2.175-2.5.x86_64.rpm?COUNTRY=jp®ION=as [following] --2023-09-30 17:19:37-- http://mirrorcache-jp.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsource-0.9.2.175-2.5.x86_64.rpm?COUNTRY=jp®ION=as Resolving mirrorcache-jp.opensuse.org (mirrorcache-jp.opensuse.org)... 139.162.108.149, 2400:8902::f03c:93ff:fec8:af18 Connecting to mirrorcache-jp.opensuse.org (mirrorcache-jp.opensuse.org)|139.162.108.149|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://mirror-jp.firstyear.id.au/debug/tumbleweed/repo/oss/x86_64/libvmime-d... [following] --2023-09-30 17:19:38-- http://mirror-jp.firstyear.id.au/debug/tumbleweed/repo/oss/x86_64/libvmime-d... Resolving mirror-jp.firstyear.id.au (mirror-jp.firstyear.id.au)... 139.162.108.7, 2400:8902::f03c:93ff:fec8:afa1 Connecting to mirror-jp.firstyear.id.au (mirror-jp.firstyear.id.au)|139.162.108.7|:80... ^C 17:20 f3:~ $ ping mirror-jp.firstyear.id.au PING mirror-jp.firstyear.id.au (139.162.108.7) 56(84) bytes of data. ^C --- mirror-jp.firstyear.id.au ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2027ms
Hi Jan,
# wget http://cdn.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsourc... -c --2023-09-30 17:19:37-- http://cdn.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsourc... Resolving cdn.opensuse.org (cdn.opensuse.org)... 151.101.109.91, 2a04:4e42:1a::347 Connecting to cdn.opensuse.org (cdn.opensuse.org)|151.101.109.91|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://mirrorcache-jp.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsource-0.9.2.175-2.5.x86_64.rpm?COUNTRY=jp®ION=as [following] --2023-09-30 17:19:37-- http://mirrorcache-jp.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsource-0.9.2.175-2.5.x86_64.rpm?COUNTRY=jp®ION=as
so it detects you're in japan (I hope that is correct) and redirects you to the preferred mirror for japanese users, RATHER than using the cdn (which would be a redirect to downloadcontentcdn instead).
Resolving mirror-jp.firstyear.id.au (mirror-jp.firstyear.id.au)... 139.162.108.7, 2400:8902::f03c:93ff:fec8:afa1 Connecting to mirror-jp.firstyear.id.au (mirror-jp.firstyear.id.au)|139.162.108.7|:80... ^C 17:20 f3:~ $ ping mirror-jp.firstyear.id.au PING mirror-jp.firstyear.id.au (139.162.108.7) 56(84) bytes of data.
the site is up again, so it might have been a temporary glitch? Unfortunately the current behavior of the mirrorcache-* instances is that if it thinks there is any mirror anywhere nearby, it redirects you to that one rather than actually using the CDN. We do need to improve this, just don't know how yet. Greetings, Dirk
On Tuesday 2023-10-03 17:38, Dirk Müller wrote:
# wget http://cdn.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsourc... -c Resolving cdn.opensuse.org (cdn.opensuse.org)... 151.101.109.91, 2a04:4e42:1a::347 Connecting to cdn.opensuse.org (cdn.opensuse.org)|151.101.109.91|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://mirrorcache-jp.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsource-0.9.2.175-2.5.x86_64.rpm?COUNTRY=jp®ION=as [following] --2023-09-30 17:19:37-- http://mirrorcache-jp.opensuse.org/debug/tumbleweed/repo/oss/x86_64/libvmime-debugsource-0.9.2.175-2.5.x86_64.rpm?COUNTRY=jp®ION=as Resolving mirror-jp.firstyear.id.au (mirror-jp.firstyear.id.au)... 139.162.108.7, 2400:8902::f03c:93ff:fec8:afa1 Connecting to mirror-jp.firstyear.id.au (mirror-jp.firstyear.id.au)|139.162.108.7|:80... ^C 17:20 f3:~ $ ping mirror-jp.firstyear.id.au PING mirror-jp.firstyear.id.au (139.162.108.7) 56(84) bytes of data.
the site is up again, so it might have been a temporary glitch?
Indeed.
Unfortunately the current behavior of the mirrorcache-* instances is that if it thinks there is any mirror anywhere nearby, it redirects you to that one rather than actually using the CDN. We do need to improve this, just don't know how yet.
Failover conceptually requires a second "target" of some sort to function. - In a CDN, the CDN owner does routing tricks to send packets to a second target if the primary is offline. - When multiple IP addresses are published for a DNS name, clients can try secondaries at their own pace. - Or have a mechanism by which a client tries multiple DNS names. But a HTTP redirect can only specify *one* target location, so I would argue that is conceptually a dead end and we just won't find a solution with. So based on the list of available "things that have a secondary", the options I see, would be, respectively: - exclusively use a CDN for download.opensuse.org - or let d.o.o resolve to multiple addresses [requires that mirrors recognize "download.opensuse.org" as a vhost / figurative setup hurdle for mirror owners] - teach zypper to use a mirrorlist à la yum/dnf
Hi Jan,
Failover conceptually requires a second "target" of some sort to function.
Sure, there are very few mirrors being handed out for japan however. it only hands out the CDN (which would have worked fine) if there is *no* mirror. So having one mirror but that one being down is the worst case scenario which you successfully hit.
- In a CDN, the CDN owner does routing tricks to send packets to a second target if the primary is offline.
Yes, it would have worked if download.o.org would have used the CDN. it did not.
- exclusively use a CDN for download.opensuse.org
not feasible, too much traffic unfortunately
- or let d.o.o resolve to multiple addresses [requires that mirrors recognize "download.opensuse.org" as a vhost / figurative setup hurdle for mirror owners]
The download server was not the problem (nor the cdn proxy in front of it). the mirror it redirect you to was an issue.
- teach zypper to use a mirrorlist à la yum/dnf
It already does that (so called metalinks) but that doesn't help if the metalink includes only one mirror and that one being down. Greetings, Dirk
participants (2)
-
Dirk Müller
-
Jan Engelhardt