Neutron OVN router/switch port status not accurate

Bug #1713835 reported by Chris Burton
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
networking-ovn
Invalid
Medium
Unassigned

Bug Description

It looks like ovn not passing logical router/switch active/down status up to Neutron properly or Neutron is not honoring the information. Although everything is working as expected Openstack reports logical router/switch port to be in a down state. This does not appear to have an affect on instance ports as they report properly.

Below is an example, the router ports (172.17.0.1, 172.18.0.1, 172.19.0.1, and the GTSP/DTSP) all show down even though inter-network traffic works as expected. You can see that the instances (172.17.0.10, 172.17.0.20, 172.17.0.30) port do show proper status.

openstack port list
+--------------------------------------+-------------+-------------------+------------------------------------------------------------------------------+--------+
| ID | Name | MAC Address | Fixed IP Addresses | Status |
+--------------------------------------+-------------+-------------------+------------------------------------------------------------------------------+--------+
| 12312489-79e5-4f88-8698-4c57081623af | GTSP | fa:16:3e:90:13:98 | ip_address='169.254.128.1', subnet_id='a9aedac2-c36a-4964-a1d7-a5b4e815abe5' | DOWN |
| 19e66975-2f81-40df-86d1-587a2121fe20 | | fa:16:3e:aa:4b:c5 | ip_address='10.0.64.8', subnet_id='a726918b-b273-4a2b-8a42-4605fccdb8fb' | DOWN |
| 56db066c-dd6c-4cc4-9c14-0cc6e6c48fcf | test-3-port | fa:16:3e:ff:fb:76 | ip_address='172.18.0.30', subnet_id='8bfc9808-ba56-49ce-b308-ed6d7f1c6701' | ACTIVE |
| 82a335ea-dbd5-4bc0-b1a0-0b88a346b582 | | fa:16:3e:70:e8:1e | ip_address='172.17.0.30', subnet_id='9dd04c5c-9162-4dfc-b903-6e558f44fa0b' | ACTIVE |
| 90b16a19-11d9-4844-8fbe-2340367f18d5 | | fa:16:3e:b6:bd:29 | ip_address='172.18.0.1', subnet_id='8bfc9808-ba56-49ce-b308-ed6d7f1c6701' | DOWN |
| a6f73995-9c70-47cb-bc04-f9d98e48c5fa | test-1-port | fa:16:3e:35:27:9c | ip_address='172.17.0.10', subnet_id='9dd04c5c-9162-4dfc-b903-6e558f44fa0b' | ACTIVE |
| a9ce85a0-c2ff-4f4f-86dc-521e341ee938 | test-2-port | fa:16:3e:52:69:77 | ip_address='172.17.0.20', subnet_id='9dd04c5c-9162-4dfc-b903-6e558f44fa0b' | ACTIVE |
| b391b91f-44eb-49dd-8b6d-c7f9f22436a4 | DTSP | fa:16:3e:ac:6c:bf | ip_address='169.254.128.2', subnet_id='a9aedac2-c36a-4964-a1d7-a5b4e815abe5' | DOWN |
| c96e6e9a-bec6-40b1-8beb-3adcf6098a68 | | fa:16:3e:42:1b:54 | ip_address='172.17.0.1', subnet_id='9dd04c5c-9162-4dfc-b903-6e558f44fa0b' | DOWN |
| e5cc28bd-2db2-4361-9cbf-63eeb1296d65 | | fa:16:3e:0a:cc:d4 | ip_address='172.19.0.1', subnet_id='e447accd-cbf4-411a-b76f-a7582063caf2' | DOWN |
+--------------------------------------+-------------+-------------------+------------------------------------------------------------------------------+--------+

Looking into the log file one example shows that information is being passed as Neutron does log what is akin to a link flap, but as previously metnioned it may not be honored or properly formatted. This example is a router port tied to the 172.18.0.1 subnet.

cat /var/log/neutron/server.log | grep "networking_ovn.ml2.mech_driver" | awk '{ print $1=$2=""; print $0}'

5393 INFO networking_ovn.ml2.mech_driver [req-d4aa53c5-b78e-4360-9c9e-194f76cdb15c - - - - -] Starting OVNMechanismDriver
5416 INFO networking_ovn.ml2.mech_driver [-] OVN reports status up for port: 90b16a19-11d9-4844-8fbe-2340367f18d5
5416 INFO networking_ovn.ml2.mech_driver [req-347dbab3-4326-4a0d-b77c-eccc5532bee1 - - - - -] OVN reports status down for port: 90b16a19-11d9-4844-8fbe-2340367f18d5
5416 INFO networking_ovn.ml2.mech_driver [req-347dbab3-4326-4a0d-b77c-eccc5532bee1 - - - - -] OVN reports status up for port: 90b16a19-11d9-4844-8fbe-2340367f18d5
5416 INFO networking_ovn.ml2.mech_driver [req-347dbab3-4326-4a0d-b77c-eccc5532bee1 - - - - -] OVN reports status down for port: 90b16a19-11d9-4844-8fbe-2340367f18d55

This issue was also reported on the OVS mailing list

Revision history for this message
Chris Burton (gtrxcb) wrote :

This issue was seen on a Openstack Ocata release using OVS/OVN 2.6.1 (from packages) running on CentOS 7.

Changed in networking-ovn:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
venkata anil (anil-venkata) wrote :

Neutron plugin won't allow setting the status to ACTIVE unless it is bound to a particular host. But router interface ports are distributed ports in OVN i.e in OVN, router is not bound to a particular chassis, so we can't set the status to ACTIVE for router interface ports.

Changed in networking-ovn:
status: Confirmed → Invalid
Revision history for this message
Daniel Alvarez (dalvarezs) wrote :

Agree, we should skip these tests in networking-ovn:
neutron_tempest_plugin.api.test_routers.RoutersTest.test_router_interface_status
neutron_tempest_plugin.api.test_routers.RoutersIpV6Test.test_router_interface_status

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.