Two Internal Devices Found in a Router Namespace

Bug #1244853 reported by Stephen Ma
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Stephen Ma

Bug Description

Doing a sudo ip netns qrouter-<router-id> ifconfig for a router namespace reveals the following. There are two internal devices (qr-XXXX) in this namespace. When a VM is created with a floating ip using this router, it cannot be pinged.

lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:147 errors:0 dropped:0 overruns:0 frame:0
          TX packets:147 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12936 (12.9 KB) TX bytes:12936 (12.9 KB)

qg-c9bad8cf-63 Link encap:Ethernet HWaddr fa:16:3e:fe:20:2d
          inet addr:15.184.41.158 Bcast:15.184.47.255 Mask:255.255.248.0
          inet6 addr: fe80::f816:3eff:fefe:202d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:7567222 errors:0 dropped:235502 overruns:0 frame:0
          TX packets:2831290 errors:0 dropped:4 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14540514463 (14.5 GB) TX bytes:246815068 (246.8 MB)

qr-57bb264d-7c Link encap:Ethernet HWaddr fa:16:3e:8f:dc:be
          inet addr:10.24.0.1 Bcast:10.24.255.255 Mask:255.255.0.0
          inet6 addr: fe80::f816:3eff:fe8f:dcbe/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:292 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:23856 (23.8 KB) TX bytes:126 (126.0 B)

qr-9883db4f-07 Link encap:Ethernet HWaddr fa:16:3e:5e:70:09
          inet addr:10.24.0.1 Bcast:10.24.255.255 Mask:255.255.0.0
          inet6 addr: fe80::f816:3eff:fe5e:7009/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:171988 errors:0 dropped:0 overruns:0 frame:0
          TX packets:319691 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14116358 (14.1 MB) TX bytes:653426894 (653.4 MB)

Stephen Ma (stephen-ma)
Changed in neutron:
assignee: nobody → Stephen Ma (stephen-ma)
Revision history for this message
Stephen Ma (stephen-ma) wrote :

The question is why there are 2 internal devices with the same IP addresses. In this case, what happened is that the user issued the command "neutron router-interface-delete <router-id> <subnet-id>". The API-server processed the request and then it issued the routers updated notification. However while the the notification is in flight, the machine running the L3-agent hosting the router crashed. After reboot, L3-agent started up again, but it "forgot" about needing to delete the internal device from the namespace.

After awhile, the user created ran the command "neutron router-interface-add <router-id> <subnet-id>". Now the L3-agent created another internal device in the namespace.

Aaron Rosen (arosen)
Changed in neutron:
importance: Undecided → Medium
milestone: none → icehouse-1
tags: added: havana-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

Changed in neutron:
status: New → In Progress
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-1 → icehouse-2
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-2 → icehouse-3
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-3 → icehouse-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/57954
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=b0306a93645ea6475a2bc045d8fc8bc4bd6f00a5
Submitter: Jenkins
Branch: master

commit b0306a93645ea6475a2bc045d8fc8bc4bd6f00a5
Author: Stephen Ma <email address hidden>
Date: Wed Nov 20 14:52:23 2013 -0800

    Delete duplicate internal devices in router namespace

    When neutron router-interface-delete <router> <subnet> is ran
    during L3-agent restart, the agent may fail to delete the old
    internal device. After the restart, when the command "neutron
    router-interface-add <router> <subnet>" is ran again, the
    router ends up having two internal devices configured with the
    same IP address.

    Closes-Bug: #1244853
    Change-Id: I0d7e2db6aa7dae26d0fc3fe1b1527762cb1e3b23

Changed in neutron:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-rc1 → 2014.1
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.