← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1386648] Re: Subnet deleting traceback with VPNaaS

 

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

** Changed in: neutron
     Assignee: Numan Siddique (numansiddique) => (unassigned)

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

Title:
  Subnet deleting traceback with VPNaaS

Status in OpenStack Neutron (virtual network service):
  Invalid

Bug description:
  When trying delete subnet which is part of VPN service:
  1) subnet is not deleted
  2) Traceback in neutron:
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource DBError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`neutron`.`vpnservices`, CONSTRAINT `vpnservices_ibfk_1` FOREIGN KEY (`subnet_id`) REFERENCES `subnets` (`id`))') 'DELETE FROM subnets WHERE subnets.id = %s' ('8ab1d17f-db00-4904-aebe-61edf0f627f0',)
  3) No error reporting about the reason

  Steps to reproduce:
  $ neutron net-create netto
  $ neutron subnet-create netto 192.168.12.0/24
  $ neutron router-create router-vpn
  $ neutron router-interface-add router-vpn 8ab1d17f-db00-4904-aebe-61edf0f627f0 # subnet-id
  $ neutron router-gateway-set router-vpn public
  $ neutron vpn-ipsecpolicy-create policy2
  $ neutron vpn-service-create router-vpn 8ab1d17f-db00-4904-aebe-61edf0f627f0 # subnet-id
  $ neutron router-interface-delete router-vpn 8ab1d17f-db00-4904-aebe-61edf0f627f0 # subnet-id

  and now try to delete subnet:
  $ neutron subnet-delete 8ab1d17f-db00-4904-aebe-61edf0f627f0 # subnet-id

  Should be:
  1) Convenient error report if subnet is not deleted.
  2) If subnet is deleted, then VPN service should be deleted before. 

  The full traceback:

  2014-10-28 11:15:27.378 DEBUG neutron.plugins.ml2.plugin [req-3c9ecbda-6f86-4eff-92f2-b97e6ea34581 admin 852452b6e465460b86edeeccfd10d165] Committing transacti
  on from (pid=4046) delete_subnet /opt/stack/neutron/neutron/plugins/ml2/plugin.py:744
  2014-10-28 11:15:27.381 ERROR oslo.db.sqlalchemy.exc_filters [req-3c9ecbda-6f86-4eff-92f2-b97e6ea34581 admin 852452b6e465460b86edeeccfd10d165] DBAPIError excep
  tion wrapped from (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`neutron`.`vpnservices`, CONSTRAINT `vpnservic
  es_ibfk_1` FOREIGN KEY (`subnet_id`) REFERENCES `subnets` (`id`))') 'DELETE FROM subnets WHERE subnets.id = %s' ('8ab1d17f-db00-4904-aebe-61edf0f627f0',)
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters Traceback (most recent call last):
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/compat/handle_error.py", line 59
  , in _handle_dbapi_exception
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters     e, statement, parameters, cursor, context)
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1024, in _handle_dbapi_e
  xception
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters     exc_info
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 196, in raise_from_cause
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters     reraise(type(exception), exception, tb=exc_tb)
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 867, in _execute_context
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters     context)
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 324, in do_execute
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters     cursor.execute(statement, parameters)
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters     self.errorhandler(self, exc, value)
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters   File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters     raise errorclass, errorvalue
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters IntegrityError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key const
  raint fails (`neutron`.`vpnservices`, CONSTRAINT `vpnservices_ibfk_1` FOREIGN KEY (`subnet_id`) REFERENCES `subnets` (`id`))') 'DELETE FROM subnets WHERE subne
  ts.id = %s' ('8ab1d17f-db00-4904-aebe-61edf0f627f0',)
  2014-10-28 11:15:27.381 TRACE oslo.db.sqlalchemy.exc_filters 
  2014-10-28 11:15:27.479 DEBUG neutron.openstack.common.lockutils [req-3c9ecbda-6f86-4eff-92f2-b97e6ea34581 admin 852452b6e465460b86edeeccfd10d165] Releasing semaphore "db-access" from (pid=4046) lock /opt/stack/neutron/neutron/openstack/common/lockutils.py:238
  2014-10-28 11:15:27.481 ERROR neutron.api.v2.resource [req-3c9ecbda-6f86-4eff-92f2-b97e6ea34581 admin 852452b6e465460b86edeeccfd10d165] delete failed
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource Traceback (most recent call last):
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/resource.py", line 87, in resource
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     result = method(request=request, **args)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/base.py", line 476, in delete
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     obj_deleter(request.context, id, **kwargs)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 745, in delete_subnet
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     break
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     self.gen.next()
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/contextlib.py", line 121, in nested
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     if exit(*exc):
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 447, in __exit__
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     self.rollback()
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 58, in __exit__
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     compat.reraise(exc_type, exc_value, exc_tb)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 444, in __exit__
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     self.commit()
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 354, in commit
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     self._prepare_impl()
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 334, in _prepare_impl
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     self.session.flush()
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1818, in flush
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     self._flush(objects)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1936, in _flush
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     transaction.rollback(_capture_exception=True)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 58, in __exit__
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     compat.reraise(exc_type, exc_value, exc_tb)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1900, in _flush
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     flush_context.execute()
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     rec.execute(self)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 553, in execute
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     uow
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 116, in delete_obj
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     cached_connections, mapper, table, delete)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 681, in _emit_delete_statements
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     connection.execute(statement, del_objects)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 662, in execute
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     params)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 761, in _execute_clauseelement
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     compiled_sql, distilled_params
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 874, in _execute_context
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     context)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/compat/handle_error.py", line 125, in _handle_dbapi_exception
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     six.reraise(type(newraise), newraise, sys.exc_info()[2])
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/compat/handle_error.py", line 102, in _handle_dbapi_exception
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     per_fn = fn(ctx)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/exc_filters.py", line 323, in handler
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     context.is_disconnect)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo/db/sqlalchemy/exc_filters.py", line 278, in _raise_for_remaining_DBAPIError
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource     raise exception.DBError(error)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource DBError: (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`neutron`.`vpnservices`, CONSTRAINT `vpnservices_ibfk_1` FOREIGN KEY (`subnet_id`) REFERENCES `subnets` (`id`))') 'DELETE FROM subnets WHERE subnets.id = %s' ('8ab1d17f-db00-4904-aebe-61edf0f627f0',)
  2014-10-28 11:15:27.481 TRACE neutron.api.v2.resource

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


References