When I create router, net, VMs, policy and bandwidth rule and applying it on port - it is works correctly. But, when VMs, router, net was deleted and recreated - after applying policy on new just created port and updating bandwidth-limit-rule it is have no effect and speed is equal to bandwidth that was before updating.
9. neutron qos-policy-create bwlimiter
10. neutron qos-bandwidth-limit-rule-create bwlimiter --max-kbps 13000
11. Find Ubuntu-1 port
12. Update this port with qos-policy bwlimiter
13. Start iperf server on Ubuntu-2
14. Start iperf client on Ubuntu-1
15. Look at the traffic on Ubuntu-1. It is eq qos-policy bwlimiter
16. nova delete Ubuntu-1
17. nova delete Ubuntu-2
18. neutron router-interface-delete router01 subnet01
19. neutron router-interface-delete router01 admin_floating_net__subnet
20. neutron net-delete net01
21. repeat steps 1-8
22. Find Ubuntu-1 port
24. Update this port with qos-policy bwlimiter
25. Start iperf server on Ubuntu-2
26. Start iperf client on Ubuntu-1
27. Look at the traffic on Ubuntu-1.
28. bandwidth-limit-rule ID=`neutron qos-bandwidth-limit-rule-list bwlimiter | grep 13000 | awk '{print $2}'`
29. Update bandwidth-limit-rule. neutron qos-bandwidth-limit-rule-update $ID bwlimiter --max-kbps 20000
30. Look at the traffic on Ubuntu-1. It is not changed and equal 13000 instead of 20000
Expected results:
Traffic restriction must be equal bandwidth-limit-rule (20000 kbps)
Actual result:
Traffic restriction equal bandwidth-limit-rule that was created befor deleting router,net,VMs (13000 kbps)
Additional information:
There is some logs from /var/log/neutron/neutron-openvswitch-agent.log on node-2 after updating bandwidth-limit-rule
Detailed bug description:
When I create router, net, VMs, policy and bandwidth rule and applying it on port - it is works correctly. But, when VMs, router, net was deleted and recreated - after applying policy on new just created port and updating bandwidth- limit-rule it is have no effect and speed is equal to bandwidth that was before updating.
Steps to reproduce:
1. neutron net-create net01 interface- add router01 subnet01 interface- add router01 admin_floating_ net__subnet
2. neutron subnet-create net01 192.168.112.0/24 --name subnet01
3. neutron router-create router01
4. neutron router-
5. neutron router-
6. Net_ID=`neutron net-list | grep net01 | awk '{print $2}'`
7. nova boot --flavor m1.medium --image Ubuntu_ 14.04_iperf_ nload --availability-zone nova:node- 2.domain.tld --key-name CloudKey --nic net-id=$Net_ID Ubuntu-1
8. nova boot --flavor m1.medium --image Ubuntu_ 14.04_iperf_ nload --availability-zone nova:node- 3.domain. tld --key-name CloudKey --nic net-id=$Net_ID Ubuntu-2
9. neutron qos-policy-create bwlimiter limit-rule- create bwlimiter --max-kbps 13000 interface- delete router01 subnet01 interface- delete router01 admin_floating_ net__subnet limit-rule ID=`neutron qos-bandwidth- limit-rule- list bwlimiter | grep 13000 | awk '{print $2}'` limit-rule. neutron qos-bandwidth- limit-rule- update $ID bwlimiter --max-kbps 20000
10. neutron qos-bandwidth-
11. Find Ubuntu-1 port
12. Update this port with qos-policy bwlimiter
13. Start iperf server on Ubuntu-2
14. Start iperf client on Ubuntu-1
15. Look at the traffic on Ubuntu-1. It is eq qos-policy bwlimiter
16. nova delete Ubuntu-1
17. nova delete Ubuntu-2
18. neutron router-
19. neutron router-
20. neutron net-delete net01
21. repeat steps 1-8
22. Find Ubuntu-1 port
24. Update this port with qos-policy bwlimiter
25. Start iperf server on Ubuntu-2
26. Start iperf client on Ubuntu-1
27. Look at the traffic on Ubuntu-1.
28. bandwidth-
29. Update bandwidth-
30. Look at the traffic on Ubuntu-1. It is not changed and equal 13000 instead of 20000
Expected results: limit-rule (20000 kbps)
Traffic restriction must be equal bandwidth-
Actual result: limit-rule that was created befor deleting router,net,VMs (13000 kbps)
Traffic restriction equal bandwidth-
Additional information:
There is some logs from /var/log/ neutron/ neutron- openvswitch- agent.log on node-2 after updating bandwidth- limit-rule
2016-05-12 10:54:59.913 2406 ERROR neutron. agent.ovsdb. impl_vsctl [req-0fd63184- 6e50-4981- ab11-d2a929f5cb 5f 35c07001754f41b 6b5edef561389bc 27 e48bd97a371d4d6 39e37750b43e842 76 - - -] Unable to execute ['ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', 'set', 'Interface', u'qvoff93fc5b-16', 'ingress_ policing_ rate=0' , '--', 'set', 'Interface', u'qvoff93fc5b-16', 'ingress_ policing_ burst=0' ]. Exception: Exit code: 1; Stdin: ; Stdout: ; Stderr: ovs-vsctl: no row "qvoff93fc5b-16" in table Interface rpc.dispatcher [req-0fd63184- 6e50-4981- ab11-d2a929f5cb 5f 35c07001754f41b 6b5edef561389bc 27 e48bd97a371d4d6 39e37750b43e842 76 - - -] Exception during message handling: Exit code: 1; Stdin: ; Stdout: ; Stderr: ovs-vsctl: no row "qvoff93fc5b-16" in table Interface rpc.dispatcher Traceback (most recent call last):
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging. rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ oslo_messaging/ rpc/dispatcher. py", line 138, in _dispatch_and_reply rpc.dispatcher incoming.message)) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ oslo_messaging/ rpc/dispatcher. py", line 185, in _dispatch rpc.dispatcher return self._do_ dispatch( endpoint, method, ctxt, args) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ oslo_messaging/ rpc/dispatcher. py", line 127, in _do_dispatch rpc.dispatcher result = func(ctxt, **new_args) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ api/rpc/ handlers/ resources_ rpc.py" , line 224, in push rpc.dispatcher cons_registry. push(resource_ type, resource_obj, event_type) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ api/rpc/ callbacks/ consumer/ registry. py", line 35, in push rpc.dispatcher callback(resource, event_type) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ oslo_concurrenc y/lockutils. py", line 271, in inner rpc.dispatcher return f(*args, **kwargs) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/l2/ extensions/ qos.py" , line 201, in _handle_ notification rpc.dispatcher self._process_ update_ policy( qos_policy) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/l2/ extensions/ qos.py" , line 252, in _process_ update_ policy rpc.dispatcher self.qos_ driver. delete( port, old_qos_policy) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/l2/ extensions/ qos.py" , line 88, in delete rpc.dispatcher self._handle_ rule_delete( port, rule_type) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/l2/ extensions/ qos.py" , line 103, in _handle_rule_delete rpc.dispatcher handler(port) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ plugins/ ml2/drivers/ openvswitch/ agent/extension _drivers/ qos_driver. py", line 50, in delete_ bandwidth_ limit rpc.dispatcher self.br_ int.delete_ egress_ bw_limit_ for_port( port_name) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/common/ ovs_lib. py", line 595, in delete_ egress_ bw_limit_ for_port rpc.dispatcher port_name, 0, 0) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/common/ ovs_lib. py", line 574, in _set_egress_ bw_limit_ for_port rpc.dispatcher max_burst_kbps))) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/ovsdb/ api.py" , line 76, in __exit__ rpc.dispatcher self.result = self.commit() rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/ovsdb/ impl_vsctl. py", line 50, in commit rpc.dispatcher res = self.run_ vsctl(args) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/ovsdb/ impl_vsctl. py", line 71, in run_vsctl rpc.dispatcher ctxt.reraise = False rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ oslo_utils/ excutils. py", line 220, in __exit__ rpc.dispatcher self.force_ reraise( ) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ oslo_utils/ excutils. py", line 196, in force_reraise rpc.dispatcher six.reraise( self.type_ , self.value, self.tb) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/ovsdb/ impl_vsctl. py", line 63, in run_vsctl rpc.dispatcher log_fail_ as_error= False). rstrip( ) rpc.dispatcher File "/usr/lib/ python2. 7/dist- packages/ neutron/ agent/linux/ utils.py" , line 140, in execute rpc.dispatcher raise RuntimeError(msg) rpc.dispatcher RuntimeError: Exit code: 1; Stdin: ; Stdout: ; Stderr: ovs-vsctl: no row "qvoff93fc5b-16" in table Interface rpc.dispatcher rpc.dispatcher
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.
Description of the environment:
fuel_build_id | 308 |
fuel_build_number | 308 |
fuel_release | 9.0 |
fuel_openstack_ version | mitaka-9.0 |
Diagnostic snapshot - http:// mos-scale- share.mirantis. com/fuel- snapshot- 2016-05- 11_19-00- 11.tar. xz