Patch https://review.openstack.org/#/c/541512/ fixed this issue also
** Changed in: neutron Status: Confirmed => 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/1745386 Title: Update FloatingIP to set QoS policy on it fails Status in neutron: Fix Released Bug description: When Floating IP is created without QoS policy set and user want's to add QoS policy to it with PUT request: curl -g -i -X PUT http://145.239.30.57:9696/v2.0/floatingips/bb2d8b79-5b09-4fe0-a8cf- f6e011873ca2 -H "User-Agent: python-neutronclient" -H "Accept: application/json" -H "X-Auth-Token: XXX" -d '{"floatingip": {"port_id": "b33dfa98-97b9-4573-a45b-fb841848e068", "qos_policy_id": "b30259f1-ac07-4d03-b628-f7e1b1e64ea1"}}' it fails on neutron-server side. Neutron error is: Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource [None req-456534d5-541d-434f-b4c9-9ebd1f3be830 demo admin] update failed: No details.: StaleDataError: UPDATE statement on table 'standardatt Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource Traceback (most recent call last): Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/resource.py", line 98, in resource Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource result = method(request=request, **args) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 608, in update Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return self._update(request, id, body, **kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 91, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource setattr(e, '_RETRY_EXCEEDED', True) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.force_reraise() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 87, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return f(*args, **kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 147, in wrapper Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource ectxt.value = e.inner_exc Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.force_reraise() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 135, in wrapper Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return f(*args, **kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 126, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource LOG.debug("Retry wrapper got retriable exception: %s", e) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.force_reraise() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 122, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return f(*dup_args, **dup_kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 656, in _update Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource obj = obj_updater(request.context, id, **kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 161, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return method(*args, **kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 91, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource setattr(e, '_RETRY_EXCEEDED', True) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.force_reraise() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 87, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return f(*args, **kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 147, in wrapper Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource ectxt.value = e.inner_exc Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.force_reraise() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 135, in wrapper Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return f(*args, **kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 126, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource LOG.debug("Retry wrapper got retriable exception: %s", e) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.force_reraise() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 122, in wrapped Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return f(*dup_args, **dup_kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 1055, in update_floatingip Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource context, id, floatingip) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/l3_db.py", line 1393, in _update_floatingip Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource context, id=floatingip_obj.id) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/objects/base.py", line 547, in get_object Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource **cls.modify_fields_to_db(kwargs) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/objects/db/api.py", line 32, in get_object Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return _get_filter_query(context, model, **kwargs).first() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/opt/stack/neutron/neutron/objects/db/api.py", line 28, in _get_filter_query Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource return query Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 567, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.rollback() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 564, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.commit() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 461, in commit Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self._prepare_impl() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 441, in _prepare_impl Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self.session.flush() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2192, in flush Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource self._flush(objects) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2312, in _flush Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource transaction.rollback(_capture_exception=True) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__ Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2276, in _flush Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource flush_context.execute() Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 389, in execute Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource rec.execute(self) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 548, in execute Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource uow Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 177, in save_obj Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource mapper, table, update) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 760, in _emit_update_statements Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource (table.description, len(records), rows)) Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource StaleDataError: UPDATE statement on table 'standardattributes' expected to update 1 row(s); 0 were matched. Jan 25 14:42:02 devstack-master-linuxbridge neutron-server[12944]: ERROR neutron.api.v2.resource From what I found it fails only when old_qos_policy was None and we want to set some policy on FIP. It does not fails if the following lines in https://github.com/openstack/neutron/blob/master/neutron/db/l3_fip_qos.py#L85 are removed: if not floatingip_obj.db_obj.qos_policy_binding: floatingip_obj.db_obj.qos_policy_binding = qos_policy_binding To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1745386/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp