Quota leakage issue
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
New
|
Undecided
|
Unassigned |
Bug Description
In our havana cloud if one deletes a large number of instances at once ~200 the instances get deleted but the quota is never restored back to 0. The following exception is raise on the nova-api node:
2014-03-25 17:35:06.024 24528 DEBUG nova.quota [req-a94c090b-
2014-03-25 17:35:06.025 24528 ERROR nova.api.openstack [req-a94c090b-
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack Traceback (most recent call last):
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return req.get_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack application, catch_exc_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack app_iter = application(
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return self.app(env, start_response)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack response = self.app(environ, start_response)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack content_type, body, accept)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return method(req=request, **action_args)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack legacy_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack rv = f(*args, **kwargs)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack legacy_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack block_device_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack QUOTAS.
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack num_instances, i)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack instance_type, image, block_device_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack instance_type, instance_uuid, mapping)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack legacy=False)
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return IMPL.block_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack return result
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack self.rollback()
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack compat.
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack self.commit()
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack t[1].commit()
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack self._do_commit()
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack self.connection
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack self._handle_
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack exc_info
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack reraise(
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack self.engine.
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack File "/usr/lib/
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack dbapi_connectio
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack OperationalError: (OperationalError) (1213, 'Deadlock found when trying to get lock; try restarting transaction') None None
2014-03-25 17:35:06.025 24528 TRACE nova.api.openstack
2014-03-25 17:35:06.036 24528 INFO nova.api.openstack [req-a94c090b-
2014-03-25 17:35:06.038 24528 DEBUG nova.api.
2014-03-25 17:35:06.039 24528 INFO nova.osapi_
2014-03-25 17:35:06.287 24529 INFO nova.metadata.
Seeing a similar deadlock on the old side of grenade which would be stable/icehouse now:
http:// logs.openstack. org/60/ 109660/ 7/check/ check-grenade- dsvm-partial- ncpu/deb4b82/ logs/old/ screen- n-api.txt. gz#_2014- 07-28_19_ 59_01_933
This is in a security group test but I'm not sure that matters.