yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #57845
[Bug 1480039] Re: User cannot delete the port which is used by lb vip, but user can update it device_owner field
[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/1480039
Title:
User cannot delete the port which is used by lb vip,but user can
update it device_owner field
Status in neutron:
Expired
Bug description:
When exist a port which used by loadbalancer vip, and now as my env didn't setup the lb-agent,so I just want to delete the port.
The server showed "cannot be deleted directly via the port API: has device owner neutron:LOADBALANCER".But user can update this port's device_owner to anything.And rerun port-delete,server showed "Request Failed: internal server error while processing your request".
And the err log from (neutron)server.log is :
from (pid=4719) _http_log_response /usr/local/lib/python2.7/dist-packages/keystoneclient/session.py:224
2015-07-31 11:20:50.238 DEBUG neutron.plugins.ml2.managers [req-9f8e0ef0-14b8-418f-9213-c5fd1df46cdb admin e921522145ec4c4082844237991d5d01] Extended port dict for driver 'port_security' from (pid=4719) extend_port_dict /opt/stack/neutron/neutron/plugins/ml2/managers.py:821
2015-07-31 11:20:50.239 INFO neutron.wsgi [req-9f8e0ef0-14b8-418f-9213-c5fd1df46cdb admin e921522145ec4c4082844237991d5d01] 10.250.10.88 - - [31/Jul/2015 11:20:50] "GET /v2.0/ports.json?fields=id&id=d7c270ef-2a37-413f-99a3-8299aa96dc01 HTTP/1.1" 200 272 0.094210
2015-07-31 11:20:50.262 DEBUG neutron.plugins.ml2.managers [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Extended port dict for driver 'port_security' from (pid=4719) extend_port_dict /opt/stack/neutron/neutron/plugins/ml2/managers.py:821
2015-07-31 11:20:50.263 DEBUG neutron.plugins.ml2.plugin [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Deleting port d7c270ef-2a37-413f-99a3-8299aa96dc01 from (pid=4719) _pre_delete_port /opt/stack/neutron/neutron/plugins/ml2/plugin.py:1253
2015-07-31 11:20:50.263 DEBUG neutron.callbacks.manager [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Notify callbacks for port, before_delete from (pid=4719) _notify_loop /opt/stack/neutron/neutron/callbacks/manager.py:135
2015-07-31 11:20:50.264 DEBUG neutron.callbacks.manager [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Calling callback neutron_lbaas.db.loadbalancer.loadbalancer_db._prevent_lbaas_port_delete_callback from (pid=4719) _notify_loop /opt/stack/neutron/neutron/callbacks/manager.py:141
2015-07-31 11:20:50.280 DEBUG neutron.callbacks.manager [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Calling callback neutron.db.l3_db._prevent_l3_port_delete_callback from (pid=4719) _notify_loop /opt/stack/neutron/neutron/callbacks/manager.py:141
2015-07-31 11:20:50.307 DEBUG neutron.plugins.ml2.managers [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Extended port dict for driver 'port_security' from (pid=4719) extend_port_dict /opt/stack/neutron/neutron/plugins/ml2/managers.py:821
2015-07-31 11:20:50.324 DEBUG neutron.plugins.ml2.managers [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Extended network dict for driver 'port_security' from (pid=4719) extend_network_dict /opt/stack/neutron/neutron/plugins/ml2/managers.py:807
2015-07-31 11:20:50.328 DEBUG neutron.plugins.ml2.db [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] For port d7c270ef-2a37-413f-99a3-8299aa96dc01, host allinone, got binding levels [] from (pid=4719) get_binding_levels /opt/stack/neutron/neutron/plugins/ml2/db.py:177
2015-07-31 11:20:50.333 DEBUG neutron.plugins.ml2.plugin [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] Calling delete_port for d7c270ef-2a37-413f-99a3-8299aa96dc01 owned by bzhao from (pid=4719) delete_port /opt/stack/neutron/neutron/plugins/ml2/plugin.py:1317
2015-07-31 11:20:50.337 ERROR neutron.api.v2.resource [req-fdb7d324-b110-4123-b48f-d390071a21fd admin e921522145ec4c4082844237991d5d01] delete failed
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource Traceback (most recent call last):
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/resource.py", line 83, in resource
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource result = method(request=request, **args)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 146, in wrapper
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource ectxt.value = e.inner_exc
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 119, in __exit__
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 136, in wrapper
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource return f(*args, **kwargs)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 499, in delete
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource obj_deleter(request.context, id, **kwargs)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 146, in wrapper
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource ectxt.value = e.inner_exc
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 119, in __exit__
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 136, in wrapper
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource return f(*args, **kwargs)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1318, in delete_port
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource super(Ml2Plugin, self).delete_port(context, id)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 909, in delete_port
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource self.ipam.delete_port(context, id)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/ipam_backend_mixin.py", line 412, in delete_port
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource query.delete()
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2827, in delete
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource delete_op.exec_()
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 1086, in exec_
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource self._do_exec()
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 1264, in _do_exec
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource mapper=self.mapper)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1023, in execute
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource bind, close_with_result=True).execute(clause, params or {})
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 914, in execute
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource return meth(self, multiparams, params)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource return connection._execute_clauseelement(self, multiparams, params)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource compiled_sql, distilled_params
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource context)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1337, in _handle_dbapi_exception
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource util.raise_from_cause(newraise, exc_info)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource reraise(type(exception), exception, tb=exc_tb)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource context)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 450, in do_execute
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource cursor.execute(statement, parameters)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 134, in execute
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource result = self._query(query)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 282, in _query
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource conn.query(q)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 768, in query
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource self._affected_rows = self._read_query_result(unbuffered=unbuffered)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 929, in _read_query_result
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource result.read()
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1125, in read
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource first_packet = self.connection._read_packet()
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 893, in _read_packet
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource packet.check_error()
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 369, in check_error
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource err.raise_mysql_exception(self._data)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 120, in raise_mysql_exception
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource _check_mysql_exception(errinfo)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 112, in _check_mysql_exception
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource raise errorclass(errno, errorvalue)
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource DBReferenceError: (pymysql.err.IntegrityError) (1451, u'Cannot delete or update a parent row: a foreign key constraint fails (`neutron`.`vips`, CONSTRAINT `vips_ibfk_1` FOREIGN KEY (`port_id`) REFERENCES `ports` (`id`))') [SQL: u'DELETE FROM ports WHERE ports.id = %s'] [parameters: (u'd7c270ef-2a37-413f-99a3-8299aa96dc01',)]
2015-07-31 11:20:50.337 TRACE neutron.api.v2.resource
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1480039/+subscriptions
References