1

I'm using vagrant to start up a centOS 7.0 VM. My provisioner is trying to set up EPEL 7 via

yum install epel-release -y

and then trying to install ansible via

yum install ansible -y

It installs epel-release successfully, but when trying to execute further yum commands, I start seeing:

 One of the configured repositories failed (Unknown),
 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 <repoid>

     4. 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=<repoid>.skip_if_unavailable=true

Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

Following some debugging steps:

yum --disablerepo="epel"  check-update

Worked fine. So I tried

URLGRABBER_DEBUG=1 yum check-update 2> debug.log

Towards the end of debug.log, I see the actual error:

< HTTP/1.1 200 Connection established
< 
2015-03-30 20:54:18,080 header ended:
* Proxy replied OK to CONNECT request
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5990 (PR_IO_TIMEOUT_ERROR)
* I/O operation timed out
* Closing connection 10
2015-03-30 20:54:48,110 exception: [Errno 14] curl#35 - "I/O operation timed out"
2015-03-30 20:54:48,110 retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raising

I'm a bit lost as to how to fix this issue. Note, sometimes this will just work, but like 95% of the time, trying to get EPEL repo metadata fails. Is this an issue on my end? I am routing through a proxy, but it seems the proxy is working fine. I think the most confusing part is that it works very rarely.

  • Looks like a certificate issue to me. I have duplicated your steps on my CentOS 7 box and have no problems. Have you tried reinstalling CentOS and tested it again? Maybe it's a vagrant problem - I am using VirtualBox. Have you tested VirtualBox? – Christopher Stanley Mar 30 '15 at 22:37
1

In our case, it was a firewall issue ... we were allowing our host outbound http (port 80) access, but not https (443). The regular repos are accessed via the former, but EPEL repos are via the latter. So w/o EPEL in the loop a 'yum update' (or whatever) was working fine, but w/ EPEL, it was bombing,

==> One of the configured repositories failed (Unknown)...

Pffft. Now we know!

0

This problem occurs when you are requesting yum to get the repo without internet connection. you have installed epel release. but there is not internet connection for installing ansible.

I commented my resolve.conf like below and tried it. I got the same error.

[root@controller yum.repos.d]# cat /etc/resolv.conf
# Generated by NetworkManager
#nameserver 8.8.8.8

[root@controller yum.repos.d]#

[root@controller yum.repos.d]# yum install ansible -y
Loaded plugins: fastestmirror


 One of the configured repositories failed (Unknown),
 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 <repoid>

     4. 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=<repoid>.skip_if_unavailable=true

Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

This is the normal behavior for the latest version of Centos 7.

If you have problem accessing the internet from your VM then please check this link.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.