When Openvswitch agent will get "port_update" event
(e.g. to set port as unbound) and port is already removed
from br-int when agent tries to get vif port in
treat_devices_added_updated() method (port is removed
because e.g. nova-compute removes it) then resources set
for port by L2 agent extension drivers (like qos) are not
cleaned properly.
In such case port is added to skipped_ports and is set
as DOWN in neutron-db but ext_manager is not called then
for such port so it will not clear stuff like bandwidth
limit's QoS and queue records and also DSCP marking
open flow rules for this port.
This patch fixes this issue by adding call of
ext_manager.delete_port() method for all skipped ports.
Reviewed: https:/ /review. openstack. org/533318 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=a8271e978a1 c540ae9888f568c f14b4c40ea1b6d
Committed: https:/
Submitter: Zuul
Branch: master
commit a8271e978a1c540 ae9888f568cf14b 4c40ea1b6d
Author: Sławek Kapłoński <email address hidden>
Date: Fri Jan 12 23:08:56 2018 +0100
[OVS] Fix for cleaning after skipped_devices
When Openvswitch agent will get "port_update" event devices_ added_updated( ) method (port is removed
(e.g. to set port as unbound) and port is already removed
from br-int when agent tries to get vif port in
treat_
because e.g. nova-compute removes it) then resources set
for port by L2 agent extension drivers (like qos) are not
cleaned properly.
In such case port is added to skipped_ports and is set
as DOWN in neutron-db but ext_manager is not called then
for such port so it will not clear stuff like bandwidth
limit's QoS and queue records and also DSCP marking
open flow rules for this port.
This patch fixes this issue by adding call of manager. delete_ port() method for all skipped ports.
ext_
Change-Id: I3cf5c57c7f232d eaa190ab6b0129e 398fdabe592
Closes-Bug: #1737892