Persistent Mirror Misrouting via download.opensuse.org – Suggestion for Exclusion Mechanism?

Hi everyone,

I’ve encountered a persistent issue with download.opensuse.org and its mirror redirection mechanism (powered by MirrorCache), and I’d like to share my findings and see if others have experienced similar problems – or have workarounds or ideas.

Situation:

I’m running openSUSE on a VPS that recently received a new static IPv4 address. Since then, most of my zypper downloads (via download.opensuse.org) are being redirected to a particular mirror – let’s call it Mirror A – which refuses connections from my IP range, likely due to past abuse from a different tenant.

From MirrorCache’s perspective:

  • Mirror A is fully online and reachable globally.
  • It is geographically “ideal” for my location.

From my perspective:

  • All attempts to fetch packages from Mirror A time out.
  • zypper eventually retries, but not always with success or speed.

This creates a kind of “sticky mirror failure”:
MirrorCache consistently assigns me a mirror I can’t reach – and there’s no obvious way to prevent or override that decision on the client side.

Why this is problematic:

  • The redirection logic works globally, but not necessarily individually.
  • My client has no way to inform MirrorCache that “this mirror doesn’t work for me”.
  • The system keeps assigning the same mirror – essentially locking me out.

Idea/Suggestion:

Would it be possible to introduce something like:

  • A mirror exclusion parameter in the URL (e.g. ?exclude=mirrorA.example.org), or
  • A way for clients to report failed mirror attempts, so MirrorCache could dynamically deprioritize mirrors per IP subnet.

This would help in cases where:

  • A mirror operator has blocked entire IP ranges (e.g. certain hosting providers),
  • or where individual network paths are broken, even if the mirror is online.

Has anyone else experienced this?
Would love to hear thoughts, confirmations, or even existing solutions I may have missed.

Regards,
Michael

1 Like

Using a specific alternate mirror that you know works may be a workaround you’ve missed, e.g.:

# cat /etc/zypp/repos.d/OSS.repo
[OSS]
autorefresh=1
baseurl=http://ftp5.gwdg.de/pub/opensuse/distribution/leap/15.6/repo/oss/
enabled=1
keeppackages=0
name=OSS
path=/
type=rpm-md
#

It’s permissible to use multiple repos per repo file too, e.g.:

[OSS]
autorefresh=1
baseurl=http://ftp5.gwdg.de/pub/opensuse/tumbleweed/repo/oss
	http://ftp.uni-erlangen.de/opensuse/tumbleweed/repo/oss
	http://www.gtlib.gatech.edu/pub/opensuse/tumbleweed/repo/oss
	http://provo-mirror.opensuse.org/tumbleweed/repo/oss
enabled=1
keeppackages=0
name=OSS
path=/
type=rpm-md

This is user to user forum. If you want to discuss development of MirrorCache, you need to do it in the right place.

MirrorCache supports ?REGION=xx, ?COUNTRY=xx and ?AVOID_COUNTRY=xx,yy,... parameters as well as HTTP headers to force region or country.

Possibly the same error - MirrorCache provides only one mirror, which doesn’t work:

Bug report:

Possibly devs broke MirrorCache. Now it redirects the whole world to the single mirror → this mirror blocks extra traffic.

my report: Sticky mirror assignment leads to persistent failure – no way to opt out · Issue #606 · openSUSE/MirrorCache · GitHub, read your headline before, but not details.

Are you sure that your assumption ALL traffic routed to this mirror is the same issue than mine? Mirror owner told me that he blocked a large IPv4 subnet a long while ago, so I’m not sure that fixing your assumed issue will en passant solve my one.

Esp. because mirror is accessible for me for ALL other OpenSuse machines except the one with the blocked by mirror owner IPv4, at least some days ago.

Very interesting…

FYI my OpenSuse machines:

new VPS, Hosting Company NETCUP in DE: BLOCKED by https://mirror.linux-schulserver.de/

“Old” VPS (still paid for the next few weeks), Hosting Company NETCUP in DE, other IPv4 from completely other range: NOT blocked by https://mirror.linux-schulserver.de/, zypper works fine

PC at home, DHCP daily changing by ISP: NOT blocked by https://mirror.linux-schulserver.de/, zypper works fine

For some repos (Filesystems, Science) openSUSE’s MirrorCache provides only this mirror, while other mirrors are available and work OK.

Sure, in my e.g. case ‘devel-languages-perl’ and ‘server:php:applications.repo’.
But when my “new VPS” hung, I a couple of times verified that doing the same from the other two OpenSuse machines worked at that moment.

The first thing I do after a fresh install of Leap is changing the url of the repo’s.
If you are located in europe and you have a fast connection (FTTH), use http://mirror.aardsoft.fi/opensuse/
This mirror is located in Finland but very fast, I guess it’s not artificially bandwidth limited as do most servers today.
Only for Packman I need to use a different url because it’s not available on that mirror.