Comment 0 for bug 1845161

Revision history for this message
Nguyen Duy Binh (binhnd) wrote :

Instance lost the QoS on interfaces with some operations like: reboot hard, live-migrate, migrate

   Description
   ===========
   When perform some operation with VM like: reboot hard, live-migrate, migrate, sometime, the QoS policy on the VM interfaces lost and neutron doesn't handle to restore it

   So user can avoid QoS per-port limitation and utilise all hosts bandwidth.

   Steps to reproduce
   ==================
  1. Create instance with port in neutron network(or can create a network with a QoS Policy)

  2. Create QoS in neutron:
  $ openstack network qos policy create --share qos-100Mb
  $ openstack network qos rule create --type bandwidth-limit --max-kbps 100000 --max-burst-kbits 0 --egress qos-100Mb
  $ openstack network qos rule create --type bandwidth-limit --max-kbps 100000 --max-burst-kbits 0 --ingress qos-100Mb

  3. Update port of the instance, assign policy:
  $ openstack port set --qos-policy qos-100Mb PORT_UUID

  4. Ensure, that QoS rule is applied to the port:

$ ovs-vsctl list interface qvoxxxxxxx-xx

......
ingress_policing_burst: 80000
ingress_policing_rate: 100000
.......

$ /sbin/tc -s qdisc show dev qvoxxxxxxx-xx
qdisc htb 1: root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
 Sent 9701 bytes 93 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc ingress ffff: parent ffff:fff1 ----------------
 Sent 9576 bytes 130 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0

  5. Perform operation like: reboot hard, live-migrate, migrate

  6. Sometime after that operation, VM interfaces lost its QoS policy

ovs-vsctl list interface qvoxxxxxxx-xx
......
ingress_policing_burst: 0
ingress_policing_rate: 0
.......

   Expected result
   ===============
  QoS rules are restore to the port

   Actual result
   =============
  QoS rules are lost, port has no limit

   Environment
   ===========
   1. Exact version of OpenStack:
   OpenStack Queens and Openstack Rocky

   2. Which networking type did you use?
   Neutron with Open vSwitch