[Expired for neutron because there has been no activity for 60 days.]
** Changed in: neutron
Status: Incomplete => Expired
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1184497
Title:
Midonet plugin deletes port even when deletion of Quantum port fails
Status in OpenStack Neutron (virtual network service):
Expired
Bug description:
Context: Using midonet as the plugin for quantum with a grizzly OS
deployment, we have a VM instance with a floating ip associated through the
horizon dashboard.
When terminating this VM instance without first disassociation of the
floating ip, the delete_port() in quantum API call fails because of the
floating ip association still there.
In this situation, the corresponding midonet port is nevertheless
deleted by the midonet plugin although it should not. This creates
inconsistency of state and induces errors when the dashboard tries to
retrieve the floating IPs.
2013-05-27 12:33:11 DEBUG [midonetclient.api_lib] do_request: content=
2013-05-27 12:33:11 DEBUG [quantum.db.db_base_plugin_v2] Recycle 10.0.0.6
2013-05-27 12:33:11 DEBUG [quantum.db.db_base_plugin_v2] Recycle: first
match for 10.0.0.7-10.0.0.254
2013-05-27 12:33:11 DEBUG [quantum.db.db_base_plugin_v2] Recycle: last
match for 10.0.0.5-10.0.0.5
2013-05-27 12:33:11 DEBUG [quantum.db.db_base_plugin_v2] Recycle: merged
10.0.0.5-10.0.0.5 and 10.0.0.7-10.0.0.254
2013-05-27 12:33:11 DEBUG [quantum.db.db_base_plugin_v2] Delete allocated
IP 10.0.0.6
(80689f94-a474-486a-bcf5-ef877cb6877e/38fd3e94-7a05-4453-9bf7-2c39e0b72c2c)
2013-05-27 12:33:11 ERROR [quantum.api.v2.resource] delete failed
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/quantum/api/v2/resource.py", line
82, in resource
result = method(request=request, **args)
File "/usr/lib/python2.7/dist-packages/quantum/api/v2/base.py", line 395,
in delete
obj_deleter(request.context, id, **kwargs)
File "/usr/lib/python2.7/dist-packages/quantum/plugins/midonet/plugin.py",
line 516, in delete_port
return super(MidonetPluginV2, self).delete_port(context, id)
File "/usr/lib/python2.7/dist-packages/quantum/db/db_base_plugin_v2.py",
line 1359, in delete_port
self._delete_port(context, id)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line
449, in __exit__
self.commit()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line
361, in commit
self._prepare_impl()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line
340, in _prepare_impl
self.session.flush()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line
1718, in flush
self._flush(objects)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line
1789, in _flush
flush_context.execute()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line
331, in execute
rec.execute(self)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line
498, in execute
uow
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line
115, in delete_obj
cached_connections, mapper, table, delete)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line
671, in _emit_delete_statements
connection.execute(statement, del_objects)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
1449, in execute
params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
1584, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
1698, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
1691, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line
331, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in
execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in
defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (IntegrityError) (1451, 'Cannot delete or update a parent
row: a foreign key constraint fails (`quantum`.`floatingips`, CONSTRAINT
`floatingips_ibfk_2` FOREIGN KEY (`fixed_port_id`) REFERENCES `ports` (`id`))')
'DELETE FROM ports WHERE ports.id = %s' ('11cfa
808-bf86-463d-93ab-d6f16587c6a1',)
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1184497/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp