Bug 1261946 - Neutron traceback when an external network without IPv6 subnet is attached to an HA Router.
Neutron traceback when an external network without IPv6 subnet is attached to...
Status: CLOSED DUPLICATE of bug 1262647
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron (Show other bugs)
7.0 (Kilo)
x86_64 Unspecified
unspecified Severity high
: ---
: 8.0 (Liberty)
Assigned To: lpeer
Ofer Blaut
Depends On:
  Show dependency treegraph
Reported: 2015-09-10 09:32 EDT by Sridhar Gaddam
Modified: 2016-04-26 14:53 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-09-14 04:54:46 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Launchpad 1494336 None None None Never

  None (edit)
Description Sridhar Gaddam 2015-09-10 09:32:05 EDT
Description of problem:
For an HA Router which does not have any subnets in the external network, Neutron 
sets the IPv6 proc entry[1] on the gateway interface to receive Router Advts from 
external IPv6 router and configure a default route pointing to the LLA of the external IPv6 Router.

Normally for an HA Router in the backup state, Neutron removes Link Local Address (LLA)
from the gateway interface. 

In Kernel version 3.10 (used in platforms like RHEL7/Centos7) when the last IPv6 address is removed from the interface, 
IPv6 is shutdown on the iface and the proc entries corresponding to the iface are deleted (i.e., /proc/sys/net/ipv6/conf/<interface>)
This issue is resolved in the later kernels [2], but the issue exists on platforms with Kernel version 3.10
When IPv6 proc entries are missing and Neutron tries to configure the proc entry we see the following traceback in Neutron. 

[1] /proc/sys/net/ipv6/conf/qg-1fc4061d-3c/accept_ra
[2] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=876fd05ddbae03166e7037fca957b55bb3be6594
[3] Trace:
    Command: ['ip', 'netns', 'exec', 'qrouter-e66b99aa-e840-4a13-9311-6242710a5452', 'sysctl', '-w', 'net.ipv6.conf.qg-1fc4061d-3c.accept_ra=2']
    Exit code: 255
    Stderr: sysctl: cannot stat /proc/sys/net/ipv6/conf/qg-1fc4061d-3c/accept_ra: No such file or directory

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

How reproducible:

Steps to Reproduce:
1. Create an HA Router
2. Create an internal network, subnet and associate the internal subnet to HA router.
3. Create an external network without any subnet.
4. Associate the external network with the HA Router. 
5. Do not configure "ipv6_gateway" in neutron l3_agent.ini configuration.

Actual results:
Traceback seen in Neutron l3-agent logs.

Expected results:
Neutron should not trace out. 

Additional info:
Comment 3 Ihar Hrachyshka 2015-09-10 09:45:58 EDT
The patch got into 2015.1.1 thru rebase. It's not a regression though since HA routers never worked with IPv6 external networks with no subnets before.

It affects functional test CI for OSP, so we may need to revert the patch before proper fix emerges.
Comment 4 Sridhar Gaddam 2015-09-14 04:54:46 EDT

*** This bug has been marked as a duplicate of bug 1262647 ***

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