← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1603384] Re: [stable/liberty] neutron port-delete causes 500 error

 

Closing this old launchpad, either it was fixed since last update, or if
still valid please fill a story for neutron-lbaas at
https://storyboard.openstack.org/#!/project/openstack/neutron-lbaas

** Changed in: neutron
       Status: In Progress => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1603384

Title:
  [stable/liberty] neutron port-delete causes 500 error

Status in neutron:
  Invalid

Bug description:
  Setup:
  Single controller
  1 KVM compute

  Steps:

  1. create subnet vn 20.0.0.0/24
  2. Launch 4 instances on the above network
  3. create LB1 for subnet vn. 
  4. create listner and pool . Add instances as members to the pool
  5. Try to delete the LBaaS port using neutron command

  As port was LBaaS VIP port, neutron is showing below trace. It should
  give some human readable error message to end user.

  stack@runner:~/nsbu_cqe_openstack$
  stack@runner:~/nsbu_cqe_openstack$ neutron port-delete f2882626-56a8-481f-b5bf-abc07041d789
  Request Failed: internal server error while processing your request.
  stack@runner:~/nsbu_cqe_openstack$

  Trace:

  2016-06-27 13:22:08.571 DEBUG vmware_nsx.nsxlib.v3.cluster [req-71b9377c-c7ea-4fe8-9dbf-9a09915fdcdb admin 2202a897d9ab46e185f05aacd3e7aa6c] API cluster proxy POST /api/v1/ns-groups/5090b84f-3aa8-415d-a067-ded3d36730b4?action=REMOVE_MEMBERS to https://172.17.4.145/api/v1/ns-groups/5090b84f-3aa8-415d-a067-ded3d36730b4?action=REMOVE_MEMBERS from (pid=8730) _proxy /opt/stack/vmware-nsx/vmware_nsx/nsxlib/v3/cluster.py:429
  2016-06-27 13:22:08.631 ERROR neutron.api.v2.resource [req-71b9377c-c7ea-4fe8-9dbf-9a09915fdcdb admin 2202a897d9ab46e185f05aacd3e7aa6c] delete failed
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource Traceback (most recent call last):
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/resource.py", line 83, in resource
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     result = method(request=request, **args)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/base.py", line 532, in delete
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     return self._delete(request, id, **kwargs)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 146, in wrapper
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     ectxt.value = e.inner_exc
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 204, in __exit__
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     six.reraise(self.type_, self.value, self.tb)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 136, in wrapper
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     return f(*args, **kwargs)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/base.py", line 554, in _delete
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     obj_deleter(request.context, id, **kwargs)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/opt/stack/vmware-nsx/vmware_nsx/plugins/nsx_v3/plugin.py", line 875, in delete_port
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     ret_val = super(NsxV3Plugin, self).delete_port(context, port_id)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1220, in delete_port
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     self.ipam.delete_port(context, id)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 502, in __exit__
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     self.rollback()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     compat.reraise(exc_type, exc_value, exc_tb)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 499, in __exit__
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     self.commit()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 392, in commit
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     self._prepare_impl()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 372, in _prepare_impl
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     self.session.flush()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2027, in flush
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     self._flush(objects)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2145, in _flush
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     transaction.rollback(_capture_exception=True)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     compat.reraise(exc_type, exc_value, exc_tb)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2109, in _flush
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     flush_context.execute()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 373, in execute
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     rec.execute(self)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 561, in execute
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     uow
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 249, in delete_obj
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     cached_connections, mapper, table, delete)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 877, in _emit_delete_statements
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     c = connection.execute(statement, del_objects)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 914, in execute
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     return meth(self, multiparams, params)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     return connection._execute_clauseelement(self, multiparams, params)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     compiled_sql, distilled_params
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     context)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1337, in _handle_dbapi_exception
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     util.raise_from_cause(newraise, exc_info)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 200, in raise_from_cause
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     reraise(type(exception), exception, tb=exc_tb)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     context)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 450, in do_execute
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     cursor.execute(statement, parameters)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 146, in execute
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     result = self._query(query)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/cursors.py", line 296, in _query
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     conn.query(q)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 781, in query
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 942, in _read_query_result
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     result.read()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1138, in read
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     first_packet = self.connection._read_packet()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 906, in _read_packet
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     packet.check_error()
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 367, in check_error
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     err.raise_mysql_exception(self._data)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 120, in raise_mysql_exception
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     _check_mysql_exception(errinfo)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 112, in _check_mysql_exception
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource     raise errorclass(errno, errorvalue)
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource DBReferenceError: (pymysql.err.IntegrityError) (1451, u'Cannot delete or update a parent row: a foreign key constraint fails (`neutron`.`lbaas_loadbalancers`, CONSTRAINT `fk_lbaas_loadbalancers_ports_id` FOREIGN KEY (`vip_port_id`) REFERENCES `ports` (`id`))') [SQL: u'DELETE FROM ports WHERE ports.id = %s'] [parameters: (u'f2882626-56a8-481f-b5bf-abc07041d789',)]
  2016-06-27 13:22:08.631 TRACE neutron.api.v2.resource 
  2016-06-27 13:22:08.827 INFO neutron.wsgi [req-71b9377c-c7ea-4fe8-9dbf-9a09915fdcdb admin 2202a897d9ab46e185f05aacd3e7aa6c] 172.17.5.148 - - [27/Jun/2016 13:22:08] "DELETE /v2.0/ports/f2882626-56a8-481f-b5bf-abc07041d789.json HTTP/1.1" 500 383 0.356938

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1603384/+subscriptions


References