apt switches to ipv6 and fails to download packages

Bug #1451899 reported by Andrew Woodward
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Pawel Stefanski

Bug Description

in parent https://bugs.launchpad.net/fuel/+bug/1446227 we found that apt switches to ipv6 and fails to download packages. Also, in the parent, the "fix" was to disable ipv6 with out understanding why this occurs.

This bug is to research and identify the root cause as this is likely a symptom of a larger issue.

https://bugs.launchpad.net/fuel/+bug/1446227/comments/12 notes that it's likely due to working DNS, but failures in L3 routing.

I can back this assumption up with my own experience, where I deployed a cluster with bad public network settings, but the compute nodes where un-able to download packages and the same error occurred.

Revision history for this message
Pawel Stefanski (pejotes) wrote :

I find the root cause for that in how getaddrinfo(3) function works. By default this function is using default preferences according to RFC3484, and prefers Ipv6 over Ipv4 when both ways are resolved.
We can change this behaviour by modifying /etc/gai.conf file adding precedence line for ipv4 scope with some high value.
ex.
precedence ::ffff:0:0/96 100

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-library (master)

Fix proposed to branch: master
Review: https://review.openstack.org/203994

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Pawel Stefanski (pejotes)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-library (master)

Reviewed: https://review.openstack.org/203994
Committed: https://git.openstack.org/cgit/stackforge/fuel-library/commit/?id=15ee50a1076db07f276ce0da1f425cd4f063b84c
Submitter: Jenkins
Branch: master

commit 15ee50a1076db07f276ce0da1f425cd4f063b84c
Author: Pawel Stefanski <email address hidden>
Date: Tue Jul 21 10:08:02 2015 +0200

    Change default getaddrinfo(3) behaviour when IPv6 not configured

    This patch address issue caused by failed connections to IPv6
    hosts when dual stack IPv6 configuration is not finished or doesn't
    work. The default is to take precedence on IPv6 resolved hosts as
    described in RFC3484. This causes problem to download packages from
    v6 enabled repositories and may cause many other connection timeouts.

    Change-Id: I9d2236d6ba7550819314923f0943ac5270ce7842
    Closes-bug: #1451899

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
Alexander Gordeev (a-gordeev) wrote :

Fix introduced a regression in classic provisioning. So it was reverted from master.

https://bugs.launchpad.net/fuel/+bug/1479881

Marking bug as invalid since we've switched to image based provisioning in 7.0

Anyway, the fixes for medium bugs won't be included into 6.1-updates

Changed in fuel:
status: Fix Committed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.