I've tested this scenario with one host as compute and controller node. Steps:
- Added a SR-IOV port
- Added a new VM with this port
- Added a qos policy with a max-bw rule
- Set the qos policy in the port network
- The VF rate is set
- Unset (using neutron client and openstack client) the qos policy in the network
- The VF rate is unset [1]
Also I executed the sriov nic agent in debug node, using breakpoints. I can see in both updates (set and unset qos policy) the trigger function "network_update" [2] is called and "self.agent.updated_devices" is set with the list of ports of this network (in this case only one)
Please, can you check in sriov nic agent logs if the command deleting the rate [1] is executed?
Hello @Ann:
I've tested this scenario with one host as compute and controller node. Steps:
- Added a SR-IOV port
- Added a new VM with this port
- Added a qos policy with a max-bw rule
- Set the qos policy in the port network
- The VF rate is set
- Unset (using neutron client and openstack client) the qos policy in the network
- The VF rate is unset [1]
Also I executed the sriov nic agent in debug node, using breakpoints. I can see in both updates (set and unset qos policy) the trigger function "network_update" [2] is called and "self.agent. updated_ devices" is set with the list of ports of this network (in this case only one)
Please, can you check in sriov nic agent logs if the command deleting the rate [1] is executed?
[1] 2017-05-10 17:16:44.817 DEBUG neutron. agent.linux. utils [req-c0e15b2b- 2c69-4f9b- ae87-05318dd8bd df None None] Running command (rootwrap daemon): ['ip', 'link', 'set', 'enp6s0f1', 'vf', '1', 'rate', '0'] from (pid=14833) execute_ rootwrap_ daemon /opt/stack/ neutron/ neutron/ agent/linux/ utils.py: 108
[2] https:/ /github. com/openstack/ neutron/ blob/master/ neutron/ plugins/ ml2/drivers/ mech_sriov/ agent/sriov_ nic_agent. py#L99