-
Notifications
You must be signed in to change notification settings - Fork 219
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
broken opensuse-leap-15.1-aarch64 configuration #553
Comments
Works now. |
Per new log, this is still the
|
@Conan-Kudo @lnussel what can we do about this? |
Tricky. The mirror is outdated. repomd.xml is not meant to be served my mirrors but download.o.o directly. So if you curl http://download.opensuse.org/ports/update/leap/15.1/oss/repodata/repomd.xml you would get the file without redirection. I suppose the software that does the download in this case does not fetch the file like this though. Instead my guess is that it fetches http://download.opensuse.org/ports/update/leap/15.1/oss/repodata/repomd.xml.metalink and takes the decision where to fetch from locally. It then ends up on an outdated mirror with incomplete files. So I guess the apache or mirrorbrain config on download.o.o needs to be adjusted to either not serve the repomd.xml.metalink either, or alternatively produce a correct one :-) If what I wrote about he behavior of your download software is correct feel free to mail admin@opensuse.org. This will create a ticket for them to resolve. |
Yes, that's the behavior, and that's how it is expected to work with So I guess that on opensuse, whatever alternative the metalink provides -- I'm not sure we can configure the needed behavior in libdnf ATM.
What do you mean by that, what is wrong on the metalink content? |
with mirrorbrain the redirection is on file level. So it's fine for mirrors to have incomplete repos. That however also requires that changed files need to have different names. That works with rpms as OBS automatically increases the release counter on rebuild. For repo metadata there are checksums in the file name. repomd.xml however does not change it's name on updates. So it cannot be redirected as mirrorbrain cannot know which mirror has the most current version. So repomd.xml has to be served from download.o.o directly. That means a repomd.xml.metalink that contains a list of mirrors is broken. |
Now I got it. We have this configuration:
But since it is not expected to ever use metalink, we should probably switch |
@praiskup The problem with with that is that it means DNF cannot do mirror failover at all. If MirrorBrain gives a slow mirror to DNF, it cannot select a better one and things stall out. This happens frequently for me in the United States as MirrorBrain gives me a bad mirror most of the time. I intentionally used the metalink because the MirrorBrain redirector gives me such poor performance that I can't do anything. |
that is a problem not specific to DNF then though. If you get a bad mirror then everyone else with zypper does too. That needs to be addressed |
I've filed https://progress.opensuse.org/issues/66004 |
So I guess we will just disable metalink files for files we wouldnt redirect. that will ensure that the repomd.xml is downloaded from us. for the rest of the repodata you can use metalinks then again. |
just curious ... what is the user-agent for the requests we would see in this case? |
@darix That's not how the |
we never redirect files without a version information in the filenames anyway. that's why not using metalink for them makes sense. |
@Conan-Kudo what do you think now? Should we change to the non-metalink |
Fixed by a7d588c |
Thank you, @Conan-Kudo |
On Fri, 22 May 2020 05:11:07 -0700 Pavel Raiskup ***@***.***> wrote:
The fix a7d588c did not fix this problem completely. See #584.
curl -I
http://distro.ibiblio.org/opensuse/distribution/leap/15.1/repo/oss/repodata/944ea2c460eefcb8cccb7dc0cc8c0265a60530d8c02bb46fede4531eda88c34c-filelists.xml.gz
HTTP/1.1 200 OK
Maybe just a temporary problem?
|
When everything worked as expected, dnf should just fallback to other mirror. |
well that code seems broken then :) |
I just suppose that the redirection was don wrongly on mirrorbrain side..? |
Zypper continually retries the same URL, expecting to get different results. It implements a definition of insanity. :) |
zypper will tell you that downloading from the mirror failed. in most cases failures like the one seen above are temporary. there is a job that checks if the baseurl of the mirror is working. that runs once per minute. so if the 403 would also affect the base url, the mirror would go out of rotation. |
That means that there's a possibility of up to 1-minute repo problems for all users, not only us (mock users), right? I'm curious whether to go back to metalink in #585, or whether we shouldn't configure The problem with metalink seemed to be much more than just 1-minute, ... when some broken mirror was |
@darix, re-asking, maybe using better phrases... So, if some mirror goes down, and it is still the preferred mirror for the given geographic location, If this is correct? I'm asking because in mock we have a solution for that (we can enable in-mock |
This is correct. |
Per discussion in rpm-software-management#553 it isn't correct to specify "metalink=" for OpenSUSE repositories, but mirrored "baseurl=". But the "baseurl=" links are expected to have up t0 1-minute downtimes. Therefore we need to re-try the dnf command in case of repo failure. Fixes: rpm-software-management#553 Replaces: rpm-software-management#585
I had a report https://bugzilla.redhat.com/show_bug.cgi?id=1817570 but I thought
that core configs v32.5 will fix the problem. But now I see:
https://copr-be.cloud.fedoraproject.org/results/praiskup/ping/opensuse-leap-15.1-aarch64/01324088-dummy-pkg/chroot_scan/var/lib/mock/1324088-opensuse-leap-15.1-aarch64-1585640902.925873/root/var/log/dnf.librepo.log
The text was updated successfully, but these errors were encountered: