← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1726732] Re: [qos]set running vms ingress-bandwidth-limit, then delete running vm, but ovs queue is still residual

 

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 <mazengxie@xxxxxxx>
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


References