Comment 0 for bug 1580985

Revision history for this message
Sergii (sgudz) wrote :

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
2. neutron subnet-create net01 192.168.112.0/24 --name subnet01
3. neutron router-create router01
4. neutron router-interface-add router01 subnet01
5. neutron router-interface-add router01 admin_floating_net__subnet
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
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

2016-05-12 10:54:59.913 2406 ERROR neutron.agent.ovsdb.impl_vsctl [req-0fd63184-6e50-4981-ab11-d2a929f5cb5f 35c07001754f41b6b5edef561389bc27 e48bd97a371d4d639e37750b43e84276 - - -] 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
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher [req-0fd63184-6e50-4981-ab11-d2a929f5cb5f 35c07001754f41b6b5edef561389bc27 e48bd97a371d4d639e37750b43e84276 - - -] Exception during message handling: Exit code: 1; Stdin: ; Stdout: ; Stderr: ovs-vsctl: no row "qvoff93fc5b-16" in table Interface
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher Traceback (most recent call last):

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
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher incoming.message))
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 185, in _dispatch
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher return self._do_dispatch(endpoint, method, ctxt, args)
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 127, in _do_dispatch
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/api/rpc/handlers/resources_rpc.py", line 224, in push
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher cons_registry.push(resource_type, resource_obj, event_type)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/api/rpc/callbacks/consumer/registry.py", line 35, in push
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher callback(resource, event_type)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py", line 271, in inner
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher return f(*args, **kwargs)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/l2/extensions/qos.py", line 201, in _handle_notification
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher self._process_update_policy(qos_policy)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/l2/extensions/qos.py", line 252, in _process_update_policy
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher self.qos_driver.delete(port, old_qos_policy)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/l2/extensions/qos.py", line 88, in delete
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher self._handle_rule_delete(port, rule_type)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/l2/extensions/qos.py", line 103, in _handle_rule_delete
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher handler(port)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.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
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher self.br_int.delete_egress_bw_limit_for_port(port_name)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/common/ovs_lib.py", line 595, in delete_egress_bw_limit_for_port
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher port_name, 0, 0)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/common/ovs_lib.py", line 574, in _set_egress_bw_limit_for_port
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher max_burst_kbps)))
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/ovsdb/api.py", line 76, in __exit__
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher self.result = self.commit()
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/ovsdb/impl_vsctl.py", line 50, in commit
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher res = self.run_vsctl(args)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/ovsdb/impl_vsctl.py", line 71, in run_vsctl
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher ctxt.reraise = False
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher self.force_reraise()
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/ovsdb/impl_vsctl.py", line 63, in run_vsctl
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher log_fail_as_error=False).rstrip()
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/utils.py", line 140, in execute
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher raise RuntimeError(msg)
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher RuntimeError: Exit code: 1; Stdin: ; Stdout: ; Stderr: ovs-vsctl: no row "qvoff93fc5b-16" in table Interface
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher
2016-05-12 10:54:59.914 2406 ERROR oslo_messaging.rpc.dispatcher

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