Bug 671565

Summary: yum doesn't work with IPv6 nameservers
Product: Red Hat Enterprise Linux 6 Reporter: Travis Gummels <tgummels>
Component: python-pycurlAssignee: Karel Klíč <kklic>
Status: CLOSED NOTABUG QA Contact: BaseOS QE - Apps <qe-baseos-apps>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: collura, jwest, rvokal
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-26 18:56:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Travis Gummels 2011-01-21 21:16:32 UTC
Description of problem:

yum seems to have a problem with the resolver when it is trying to get addresses for the download if the nameserver is an IPV6 host.  yum throws [Errno 14] PYCURL ERROR 6 - "".  If you remove/comment out the IPV6 nameservers yum functions as expected.

Version-Release number of selected component (if applicable):

yum-3.2.27-14.el6_0.1.noarch

How reproducible:

You need a system configured with IPV6 networking using an IPV6 accessible name server.  Example resolv.conf:

[ben@snog ~]$ cat /etc/resolv.conf
# Generated by NetworkManager
domain redhat.com
search redhat.com zork.net
nameserver 2001:838:1:1:210:dcff:fe20:7c7c
nameserver 2001:770:18:8::4
nameserver 10.7.142.20
nameserver 10.11.255.156
nameserver 64.81.127.2 

[ben@snog ~]$ sudo yum install units
Loaded plugins: auto-update-debuginfo, refresh-packagekit, rhnplugin
Found 6 installed debuginfo package(s)
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package units.x86_64 0:1.87-7.el6 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================
Package Arch Version Repository Size
===============================================================================================================
Installing:
units x86_64 1.87-7.el6 rhel-x86_64-server-6 131 k

Transaction Summary
===============================================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)

Total download size: 131 k
Installed size: 0
Is this ok [y/N]: y
Downloading Packages:


Error Downloading Packages:
units-1.87-7.el6.x86_64: failed to retrieve getPackage/units-1.87-7.el6.x86_64.rpm from rhel-x86_64-server-6
error was [Errno 14] PYCURL ERROR 6 - "" 

[ben@snog ~]$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:27:13:6a:89:c2 brd ff:ff:ff:ff:ff:ff
inet6 fe80::227:13ff:fe6a:89c2/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:26:c6:a1:c1:c8 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.102/22 brd 192.168.3.255 scope global wlan0
inet 10.3.235.121/16 scope global wlan0
inet 10.3.235.121/8 scope global wlan0
inet6 2001:470:1f0f:417:226:c6ff:fea1:c1c8/64 scope global dynamic
valid_lft 86053sec preferred_lft 14053sec
inet6 fe80::226:c6ff:fea1:c1c8/64 scope link
valid_lft forever preferred_lft forever
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 4e:2a:ae:19:48:3a brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

Actual results:

yum fails to install packages when resolver is using IPV6 nameservers

Expected results:

yum works with IPV6 nameservers
Additional info:

Comment 3 RHEL Program Management 2011-01-21 21:48:26 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 4 Karel Klíč 2011-05-03 15:46:44 UTC
I cannot reproduce the issue. Is it 100% reproducible?

I installed bind and ran it as a caching name server listening on ::1.
I modified /etc/resolv.conf to contain only one nameserver (nameserver ::1). Yum worked well with this setup.

I also made bind listening on ::1 to fail resolving the queries, and added a functional IPv4 nameserver to /etc/resolv.conf:
nameserver ::1
nameserver 10.34.255.7

Yum waited until the first nameserver timed out and then used the IPv4 to perform the lookup, as expected.


What is the output of `host -v rhel-x86_64-server-6` with the IPv6 nameserver enabled?
rhel-x86_64-server-6 needs to be replaced with the corresponding host name from /etc/yum.repos.d/rhel-x86_64-server-6.repo file.

Does curl download the package from the repository as expected when invoked manually via command line? The URL can be composed from the package rpm file name and the URL (baseurl) from /etc/yum.repos.d/rhel-x86_64-server-6.repo.

Comment 5 RHEL Program Management 2011-07-05 23:44:47 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.