Yum repository seems to be broken

I am trying to install Percona Server 5.6 on a fresh Amazon Linux AMI.
I am following your installation instructions on http://www.percona.com/doc/percona-server/5.6/installation/yum_repo.html


yum install http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm

This finishes without problems.

But when I try


yum list | grep percona

or


yum install Percona-Server-client-56 Percona-Server-server-56

I get:

PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
Trying other mirror.

One of the configured repositories failed (CentOS latest - Percona),
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).

  3. Disable the repository, so yum won’t use it by default. Yum will then
    just ignore the repository until you permanently enable it again or use
    –enablerepo for temporary usage:

yum-config-manager --disable percona

  1. Configure the failing repository to be skipped, if it is unavailable.
    Note that yum will try to contact the repo. when it runs most commands,
    so will have to try and fail each time (and thus. yum will be be much
    slower). If it is a very temporary problem though, this is often a nice
    compromise:

yum-config-manager --save --setopt=percona.skip_if_unavailable=true

failure: repodata/repomd.xml from percona: [Errno 256] No more mirrors to try.

Any ideas? It seems to me that the repository is broken, but maybe I am missing something…
Thank you.

Hello Tom,

Thank you for your response.

I have tried: [LIST=1]
[]to use the package you had suggested: http://www.percona.com/downloads/percona-release/redhat/percona-release-0.1-2.noarch.rpm
[
]to use the package: http://www.percona.com/downloads/percona-release/redhat/0.1-1/percona-release-0.1-1.noarch.rpm
[]to use the packege: http://www.percona.com/downloads/percona-release/redhat/0.1-2/percona-release-0.1-2.noarch.rpm
[
]to use the package: http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
[/LIST] I have tried all of these on: [LIST=1]
[]my existing Amazon linux instance
[
]a completely new the most recent Amazon linux instance (Amazon Linux AMI 2014.03.2 (HVM) - ami-892fe1fe)
[*]a completely new the most recent Amazon linux instance (Amazon Linux AMI 2014.03.2 (HVM) - ami-892fe1fe) after a basic update
[/LIST] I have tried to google, StackOverflow, AWS discussion forums.
I have tried to apply this http://stackoverflow.com/questions/24882671/percona-5-6-on-amazon-linux-ami-failing.

The result is that after


yum list | grep percona 

or


yum install Percona-Server-client-56 Percona-Server-server-56 

or


yum install Percona-Server-client-56 

or


yum install Percona-Server-server-56 

I get
Loaded plugins: priorities, update-motd, upgrade-helper
http://repo.percona.com/release/latest/RPMS/noarch/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
Trying other mirror.

One of the configured repositories failed (Percona-Release YUM repository - noarch),
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).

  3. Disable the repository, so yum won’t use it by default. Yum will then
    just ignore the repository until you permanently enable it again or use
    –enablerepo for temporary usage:

yum-config-manager --disable percona-release-noarch

  1. Configure the failing repository to be skipped, if it is unavailable.
    Note that yum will try to contact the repo. when it runs most commands,
    so will have to try and fail each time (and thus. yum will be be much
    slower). If it is a very temporary problem though, this is often a nice
    compromise:

yum-config-manager --save --setopt=percona-release-noarch.skip_if_unavailable=true

failure: repodata/repomd.xml from percona-release-noarch: [Errno 256] No more mirrors to try.

The only different message is in a case of when I get
Loaded plugins: priorities, update-motd, upgrade-helper
percona-release-0.1-1.noarch.rpm | 6.4 kB 00:00
Examining /var/tmp/yum-root-eLpgFc/percona-release-0.1-1.noarch.rpm: percona-release-0.1-1.noarch
Marking /var/tmp/yum-root-eLpgFc/percona-release-0.1-1.noarch.rpm to be installed
Resolving Dependencies
–> Running transaction check
—> Package percona-release.noarch 0:0.1-1 will be installed
–> Processing Dependency: /usr/bin/gpg for package: percona-release-0.1-1.noarch
–> Processing Dependency: /usr/bin/gpg for package: percona-release-0.1-1.noarch
–> Finished Dependency Resolution
Error: Package: percona-release-0.1-1.noarch (/percona-release-0.1-1.noarch)
Requires: /usr/bin/gpg
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

This is what I think: [LIST=1]
[]The error mesage (the first one) is about being unavailable (non existent) and it is true - when I put the address to a browser I get 404. Why does yum get to this link? Is it in your rpm?
[
]Amazon linux instances have some preconfigured repositories including mysql packeges. Doesn’t it somehow conflict with the Percona package? Could be the 1 be a result of the conflict?
[/LIST] It is hard to believe that I am the first / the only one experiencing this.
Could you please have a look at it once more? I would really like to give the Percona server a try because it has a very good reputation but I somehow cannot get to it…
Thank you

We are also experiencing this on our Amazon Linux instances.

Same here.

Hi I tried to execute the command above but all my repos are now giving errors…I have Percona Server 5.5 on a Amazon Linux AMI, and sudo yum update is failing so I had to disable the repos. Some packages were marked for update in the old Percona repos.

This is my sudo yum repolist:
http://repo.percona.com/release/latest/RPMS/noarch/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
Trying other mirror.
http://repo.percona.com/release/latest/RPMS/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
Trying other mirror.
I’m confused on next steps, thanks heaps

Hitting this problem on Amazon as well.

Before i tried the suggested solution i got:

http://repo.percona.com/centos/latest/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”

Now i did yum install http://www.percona.com/redir/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

and i am getting:

http://repo.percona.com/release/latest/RPMS/noarch/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
Trying other mirror.

One of the configured repositories failed (Percona-Release YUM repository - noarch),
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).

  3. Disable the repository, so yum won’t use it by default. Yum will then
    just ignore the repository until you permanently enable it again or use
    –enablerepo for temporary usage:

yum-config-manager --disable percona-release-noarch

  1. Configure the failing repository to be skipped, if it is unavailable.
    Note that yum will try to contact the repo. when it runs most commands,
    so will have to try and fail each time (and thus. yum will be be much
    slower). If it is a very temporary problem though, this is often a nice
    compromise:

yum-config-manager --save --setopt=percona-release-noarch.skip_if_unavailable=true

failure: repodata/repomd.xml from percona-release-noarch: [Errno 256] No more mirrors to try.

hello, my name is Alexey, I’m a build lead at Percona. I’m not able to reproduce the problem on my VM, so perhaps it’s something AMI-specific.

could you please provide the following:

  • AMI id
  • OS & version
  • are there some additional files related to Percona repo in /etc/yum.repos.d?

ok, I was wrong. just tested the same setup with AMI ami-892fe1fe, and the problem is confirmed.

the root cause is AMI image (and Amazon) itself. it doesn’t use redhat version numbering like 5,6,7. it uses dates for releases like 2014.09. it doesn’t use official Centos and RedHat repositories and uses internal amazon repositories with different structure and logic.
failure from above is caused by “latest” symlink in URL which points to latest Amazon release. we can’t set such symlink pointed exclusively to Percona Centos 6 repository.

I see 2 options there to fix that:

  • do not allow AMI to define $releasever as “latest” and set it manually in percona-release.repo. you need to replace $releasever with exact Centos version in percona-release.repo. example command to replace on Centos 6 based AMIs: sed -i ‘s/$releasever/6/g’ /etc/yum.repos.d/percona-release.repo.
  • do not use Amazon AMIs in such case, because they are not exactly the same OS, it’s some kind of OS fork made by Amazon and adjusted exclusively for Amazon services, software and infrastructure. use Centos AMIs.

I hope it help

Hi Alexey

Thank you for your reply.

I’ll give a try with option 1, I’ll have to read about it a little bit though as it’s out of my (limited) yum knowledge.

At the moment I disabled the Percona repos so I’m not getting updates for my Percona Server 5.5 install.

Amazon makes it easy to use the standard MySQL installation with Amazon Linux, but I’m keen on try to keep using Percona as it performs better.

Thanks

Hi Alexey

I’ve managed to successfully update my installation following your instruction doing:

sed -i ‘s/$releasever/5/g’ /etc/yum.repos.d/percona-release.repo

yum clean all

yum update

All the packages were updated correctly and everything seems to work ok thanks.

However I’m still getting this error:

2 packages excluded due to repository priority protections

and if I do

yum update -d3

I get those packages:

–> jemalloc-3.3.1-1.el5.x86_64 from percona-release-x86_64 excluded (priority)
–> jemalloc-devel-3.3.1-1.el5.x86_64 from percona-release-x86_64 excluded (priority)

Is this something to worry about? Is it possible to fix it?

Thanks and regards

Hi sliveroz,

regarding package exclusions that seems to be just a notification since you’re using yum-plugin-priorities and it means that you have the same package in some other repository which has higher priority so I wouldn’t worry about it.
Jemalloc in our repo is not some special modified version so it should work from other repositories as well.

Kind regards,

Hi, thanks for your reply, great to hear.

I think some of the confusion may be around the website not being updates…

http://www.percona.com/downloads/percona-release/ - lists 0.0.1
http://www.percona.com/downloads/percona-release/redhat/latest/ - lists 0.1.3

Still not right…
http://repo.percona.com/release/6.6/RPMS/noarch/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”

The release RPM installed this, (truncated)

########################################

Percona releases and sources, stable

########################################
[percona-release-$basearch]
name = Percona-Release YUM repository - $basearch
baseurl = http://repo.percona.com/release/$releasever/RPMS/$basearch
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Percona

[percona-release-noarch]
name = Percona-Release YUM repository - noarch
baseurl = http://repo.percona.com/release/$releasever/RPMS/noarch
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Percona

[percona-release-source]
name = Percona-Release YUM repository - Source packages
baseurl = http://repo.percona.com/release/$releasever/SRPMS
enabled = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Percona

$releasever is “6.6”, not “6”…

It looks like Percona does not support 6.6 (Santiago) version of CentOS.