#5250 yum with metalink repo cannot find archived fedora 21 packages
Closed: Fixed 2 years ago Opened 3 years ago by guerby.

= bug description =
yum with metalink repo cannot find archived fedora 21 packages

= bug analysis =
{{{
[root@gcc2-power8 ~]# yum clean all
[root@gcc2-power8 ~]# yum update
Loaded plugins: etckeeper, langpacks
atX.X | 1.1 kB 00:00:00
fedora/21/ppc64le/metalink | 1.0 kB 00:00:00
http://dl.fedoraproject.org/pub/fedora-secondary/releases/21/Everything/ppc64le/os/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.

One of the configured repositories failed (Fedora 21 - ppc64le),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:

 1. Contact the upstream for the repository and get them to fix the problem.

 2. Reconfigure the baseurl/etc. for the repository, to point to a working
    upstream. This is most often useful if you are using a newer
    distribution release than is supported by the repository (and the
    packages for the previous distribution release still work).

...
[root@gcc2-power8 ~]# cat /etc/yum.repos.d/fedora.repo
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority

baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/

metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority

baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/

metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority

baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/

metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
}}}

= fix recommendation =
Update metalink information to be able to locate FC21 archived packages

Note: opened there first
https://bugzilla.redhat.com/show_bug.cgi?id=1328192


Thanks for opening this ticket. I stumbled upon this also a few weeks ago and wanted to run the move-to-archive script for the secondary arches but totally forgot about it. The script is not very flexible and it would be easier if the content would be under the same directory structure as on the primary arches:

{{{
$ ls /srv/pub/archive/fedora-secondary/ -la
total 20
drwxr-xr-x. 5 root root 4096 Jan 20 19:06 .
drwxr-xr-x. 4 root root 4096 Jan 20 18:53 ..
drwxr-xr-x. 5 root root 4096 Jan 20 18:57 development
drwxr-xr-x. 15 root root 4096 Jan 20 21:56 releases
drwxr-xr-x. 14 root root 4096 Jan 21 19:17 updates
$ ls /srv/pub/archive/fedora/ -la
total 16
drwxr-xr-x. 4 root root 4096 Sep 26 2013 .
drwxr-xr-x. 4 root root 4096 Jan 20 18:53 ..
drwxr-xr-x. 6 root root 4096 Oct 26 2010 linux
drwxr-xr-x. 3 root root 4096 Sep 26 2013 projects
}}}

Moving the secondary archive content under the linux directory would make it easier from the MirrorManager side. The last I heard about moving the content was that it is now at the same location it was under fedora-secondary but I think it could be moved to the same directory structure as primary in the archive as it doesn't seem to matter where it is located in the archive if it is not correctly configured in MirrorManager. This is the first time secondary content is moved to the archive and this could be chance to put it at the same location as the primary content to simplify MirrorManager scripts. Moving also shouldn't introduce any troubles on the client side as the content is not accessible by clients right now anyhow.

The other way to solve this would be to rewrite the move-to-archive script to be much more flexible as it is right now.

I guess we didn't do anything here so far... :frowning:

@ausil what do you think about moving the archived fedora-secondary/ to fedora-secondary/linux/ ?

I am pretty against it, the archive matches how we ship the content. How much work is fixing the scripts?

Thanks for bringing this up again. I had a closer look how the script can be fixed and it is not much more than:

if original_cat == 'Fedora Secondary Arches':
    archivetopdir = os.path.join(a.topdir.name, 'fedora-secondary')
else:
    archivetopdir = os.path.join(a.topdir.name, 'fedora', 'linux')

Not nice, but should work. The problem is that the script does not run as it needs the original (not archived) files and directories in the database. They are, however, all long gone.

I have also seen we are missing secondary arches from the mirrorlist from Fedora 13 to Fedora 21:

# repo=fedora-12&arch=i386
# repo=fedora-12&arch=ppc
# repo=fedora-12&arch=ppc64
# repo=fedora-12&arch=x86_64
# repo=fedora-13&arch=i386
# repo=fedora-13&arch=x86_64
# repo=fedora-14&arch=i386
# repo=fedora-14&arch=x86_64
# repo=fedora-15&arch=i386
# repo=fedora-15&arch=x86_64
# repo=fedora-16&arch=i386
# repo=fedora-16&arch=x86_64
# repo=fedora-17&arch=i386
# repo=fedora-17&arch=x86_64
# repo=fedora-18&arch=i386
# repo=fedora-18&arch=x86_64
# repo=fedora-19&arch=i386
# repo=fedora-19&arch=x86_64
# repo=fedora-20&arch=armhfp
# repo=fedora-20&arch=i386
# repo=fedora-20&arch=x86_64
# repo=fedora-21&arch=armhfp
# repo=fedora-21&arch=i386
# repo=fedora-21&arch=x86_64
# repo=fedora-22&arch=aarch64
# repo=fedora-22&arch=armhfp
# repo=fedora-22&arch=i386
# repo=fedora-22&arch=ppc64
# repo=fedora-22&arch=ppc64le
# repo=fedora-22&arch=s390
# repo=fedora-22&arch=s390x
# repo=fedora-22&arch=x86_64

We have no scripts to fix this. I will fix it manually in the database and hopefully we can try to get move-to-archive script working with Fedora 22

Thanks @adrian

Should we close this out now? or is there more to do?

I tried to fix all the broken secondary archive repositories starting from Fedora 13 to Fedora 21. Seems to be fixed.

@kevin changed the status to Closed

2 years ago

Login to comment on this ticket.

Metadata