Reviewed: https://review.openstack.org/515566 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=ee423e1fa035146904eb8cdd78660cf1cafa64e8 Submitter: Zuul Branch: master
commit ee423e1fa035146904eb8cdd78660cf1cafa64e8 Author: Zachary <[email protected]> Date: Fri Oct 27 10:13:58 2017 +0800 [Qos] Fix residues of ovs in ingress bw limit When we delete vm port with attached QoS policy, it is just doing nothing if vif_port does not exist. This is fine for egress bandwidth limit as it is configured directly on vif_port in OVS. For ingress bw limit however it uses additional records in Openvswitch database: qos and queue. Those records are not cleaned up in such case. This patch also records port in self.ports in the case of bandwidth limit rules, just as in the case of dscp rules. Never execute port clear if vif_port not exists. Finally, ovs driver can clean such qos and queue records Change-Id: Iddeb49e1e6538a178ca468df0fdf9e0617ca4f1c Closes-Bug: #1726732 ** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1726732 Title: [qos]set running vms ingress-bandwidth-limit, then delete running vm,but ovs queue is still residual Status in neutron: Fix Released Bug description: 1.create vm: [root@172e18e211e96 ~]# nova interface-list mzx4 +------------+--------------------------------------+--------------------------------------+--------------+-------------------+ | Port State | Port ID | Net ID | IP addresses | MAC Addr | +------------+--------------------------------------+--------------------------------------+--------------+-------------------+ | ACTIVE | f4ae0545-ca86-40c5-b2f7-064e521f13db | 1464fb8c-3879-4e2a-9833-3aa0882285d5 | 5.5.5.11 | fa:16:3e:57:cb:ba | +------------+--------------------------------------+--------------------------------------+--------------+-------------------+ 2. Set the policy on the port. [root@172e18e211e96 ~]# openstack port set --qos-policy bw-limiter f4ae0545-ca86-40c5-b2f7-064e521f13db and check ovs by cmd: [root@172e18e211e9 ~]# ovs-vsctl list queue _uuid : 1e4f2c2d-4116-4484-8eb6-5b13d9de649f dscp : [] external_ids : {id="tapf4ae0545-ca", queue_type="0"} other_config : {burst="10000000", max-rate="100000000"} 3.then delete vm in running status,and check ovs again: [root@172e18e211e9 ~]# ovs-vsctl list queue _uuid : 1e4f2c2d-4116-4484-8eb6-5b13d9de649f dscp : [] external_ids : {id="tapf4ae0545-ca", queue_type="0"} other_config : {burst="10000000", max-rate="100000000"} tapf4ae0545-ca has been removed in ovs, but ovs queue is still residual!! To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1726732/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

