tap interface in OVS is not removed after service removed in Swarm mode

Bug #1707357 reported by Hyunsun Moon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kuryr-libnetwork
New
Undecided
Unassigned

Bug Description

Reproduce step

1. create a service with Kuryr driver network and checks Neutron ports are created for the service

$ neutron port-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+-----------------------------------+-----------------------------------+----------------------------------+-------------------+--------------------------------------+
| id | name | tenant_id | mac_address | fixed_ips |
+-----------------------------------+-----------------------------------+----------------------------------+-------------------+--------------------------------------+
| 299a12ef-99dd-452a- | | 669ad66d0f7b427794603de2a2654579 | fa:16:3e:47:39:35 | {"subnet_id": "70613cf3-7894-4096-af |
| bce8-e74a69ef0a24 | | | | 45-c2f9718ca2fb", "ip_address": |
| | | | | "192.168.0.6"} |
| 339c7192-270b-4724-92dd- | | 669ad66d0f7b427794603de2a2654579 | fa:16:3e:7d:aa:27 | {"subnet_id": "70613cf3-7894-4096-af |
| cde87a4e1c59 | | | | 45-c2f9718ca2fb", "ip_address": |
| | | | | "192.168.0.2"} |
| 648e4034-c01a-4ec8-93ef- | ee99c3fb74ea535e0041ba8694093fa1b | 669ad66d0f7b427794603de2a2654579 | fa:16:3e:fd:4c:22 | {"subnet_id": "70613cf3-7894-4096-af |
| 7f9be4fd6ab3 | 93ec4fc685caab349172cdc5730c3a3-p | | | 45-c2f9718ca2fb", "ip_address": |
| | ort | | | "192.168.0.7"} |
| b0ecc74c-44cf-4f3d- | kuryr-unbound-port | 669ad66d0f7b427794603de2a2654579 | fa:16:3e:04:85:00 | {"subnet_id": "70613cf3-7894-4096-af |
| 9fd4-d1ac2fbf785a | | | | 45-c2f9718ca2fb", "ip_address": |
| | | | | "192.168.0.12"} |
+-----------------------------------+-----------------------------------+----------------------------------+-------------------+--------------------------------------+

2. also checks qvo interface is created in br-int and qbr linux bridge is created.

    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "tap339c7192-27"
            tag: 2
            Interface "tap339c7192-27"
                type: internal
        Port "qvo648e4034-c0"
            tag: 2
            Interface "qvo648e4034-c0"
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
    ovs_version: "2.6.1"

$ sudo brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242b85e4d9c no
qbr648e4034-c0 8000.4e628aefd1dc no qvb648e4034-c0
       tap648e4034-c0

3. remove the service and check Neutron ports for the service removed well.
$ openstack port list
+--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+
| ID | Name | MAC Address | Fixed IP Addresses | Status |
+--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+
| 299a12ef-99dd-452a-bce8-e74a69ef0a24 | | fa:16:3e:47:39:35 | ip_address='192.168.0.6', subnet_id='70613cf3-7894-4096-af45-c2f9718ca2fb' | ACTIVE |
| 339c7192-270b-4724-92dd-cde87a4e1c59 | | fa:16:3e:7d:aa:27 | ip_address='192.168.0.2', subnet_id='70613cf3-7894-4096-af45-c2f9718ca2fb' | ACTIVE |
+--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+

4. but the qvo and qbr still exist
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "tap339c7192-27"
            tag: 2
            Interface "tap339c7192-27"
                type: internal
        Port "qvo648e4034-c0"
            tag: 4095
            Interface "qvo648e4034-c0"
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
    ovs_version: "2.6.1"

$ sudo brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242b85e4d9c no
qbr648e4034-c0 8000.4e628aefd1dc no qvb648e4034-c0

Error logs from Kuryr plugin
2017-07-29 07:50:53.696 12 ERROR kuryr_libnetwork.utils [-] Unexpected error happened: The port doesn't exist for the name ee99c3fb74ea535e0041ba8694093fa1b93ec4fc685caab349172cdc5730c3a3-port: NoResourceException: The port doesn't exist for the name ee99c3fb74ea535e0041ba8694093fa1b93ec4fc685caab349172cdc5730c3a3-port

Changed in kuryr-libnetwork:
status: New → Invalid
Changed in kuryr-libnetwork:
status: Invalid → New
description: updated
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.