Bug 671565 - yum doesn't work with IPv6 nameservers
Summary: yum doesn't work with IPv6 nameservers
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: python-pycurl
Version: 6.0
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Karel Klíč
QA Contact: BaseOS QE - Apps
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-21 21:16 UTC by Travis Gummels
Modified: 2018-11-14 15:06 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-06-26 18:56:57 UTC
Target Upstream Version:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.