DVR SNAT Rocky Restarting openvswitch-switch service removes qr device from router namespace

Bug #1990264 reported by Liam Young
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
New
Undecided
Unassigned

Bug Description

In a bionic rocky DVR SNAT deploy restarting the openvswitch-switch
service causes the qr device to be permanently removed from the
router network namespace and hence connectivity to (and through)
the router is lost.

$ lsb_release -c
Codename: bionic

$ dpkg -l | grep neutron-common
ii neutron-common 2:13.0.7-0ubuntu1~cloud6 all Neutron is a virtual network service for Openstack - common

$ sudo ovs-vsctl show | grep -C4 37f7
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "qr-37f7f455-65"
            tag: 2
            Interface "qr-37f7f455-65"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch

$ sudo ip netns exec qrouter-6a47605e-7262-4bf0-86a3-0e58eee4c9e0 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: rfp-6a47605e-7@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether fe:2d:70:95:7e:c2 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 169.254.110.46/31 scope global rfp-6a47605e-7
       valid_lft forever preferred_lft forever
    inet6 fe80::fc2d:70ff:fe95:7ec2/64 scope link
       valid_lft forever preferred_lft forever
14: qr-37f7f455-65: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether fa:16:3e:cb:76:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global qr-37f7f455-65
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fecb:7617/64 scope link
       valid_lft forever preferred_lft forever

$ sudo systemctl restart openvswitch-switch

$ sudo ip netns exec qrouter-6a47605e-7262-4bf0-86a3-0e58eee4c9e0 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: rfp-6a47605e-7@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether fe:2d:70:95:7e:c2 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 169.254.110.46/31 scope global rfp-6a47605e-7
       valid_lft forever preferred_lft forever
    inet6 fe80::fc2d:70ff:fe95:7ec2/64 scope link
       valid_lft forever preferred_lft forever

$ sudo ovs-vsctl show | grep -C4 37f7
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "qr-37f7f455-65"
            tag: 2
            Interface "qr-37f7f455-65"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch

$ sudo systemctl restart neutron-openvswitch-agent
$ sudo systemctl restart neutron-l3-agent.service

$ sudo ip netns exec qrouter-6a47605e-7262-4bf0-86a3-0e58eee4c9e0 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: rfp-6a47605e-7@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether fe:2d:70:95:7e:c2 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 169.254.110.46/31 scope global rfp-6a47605e-7
       valid_lft forever preferred_lft forever
    inet6 fe80::fc2d:70ff:fe95:7ec2/64 scope link
       valid_lft forever preferred_lft forever
$ sudo ovs-vsctl show | grep -C4 37f7
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "qr-37f7f455-65"
            tag: 2
            Interface "qr-37f7f455-65"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch

Revision history for this message
Liam Young (gnuoy) wrote :

An upgrade to stein fixed this for me.

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.