Deleting a user returns IntegrityError

Bug #999219 reported by Jay Pipes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Triaged
High
Unassigned

Bug Description

Tempest has a number of tests of the Identity Admin API that are failing when the test is attempting to clean up after itself:

16:49:18 ======================================================================
16:49:18 ERROR: Delete a user
16:49:18 ----------------------------------------------------------------------
16:49:18 Traceback (most recent call last):
16:49:18 File "/opt/stack/tempest/tempest/tests/identity/test_users.py", line 117, in test_delete_user
16:49:18 resp, body = self.client.delete_user(user['id'])
16:49:18 File "/opt/stack/tempest/tempest/services/identity/json/admin_client.py", line 116, in delete_user
16:49:18 resp, body = self.delete("users/%s" % user_id)
16:49:18 File "/opt/stack/tempest/tempest/common/rest_client.py", line 163, in delete
16:49:18 return self.request('DELETE', url)
16:49:18 File "/opt/stack/tempest/tempest/common/rest_client.py", line 229, in request
16:49:18 message = resp_body['computeFault']['message']
16:49:18 KeyError: '\'computeFault\'\n-------------------- >> begin captured logging << --------------------\ntempest.common.rest_client: ERROR: Request URL: http://127.0.0.1:35357/v2.0/users/8ff74e30de82449e902d83b869f51e40\ntempest.common.rest_client: ERROR: Request Body: None\ntempest.common.rest_client: ERROR: Response Headers: {\'date\': \'Mon, 14 May 2012 16:40:51 GMT\', \'content-type\': \'application/json\', \'content-length\': \'446\', \'status\': \'500\', \'vary\': \'X-Auth-Token\'}\ntempest.common.rest_client: ERROR: Response Body: {u\'error\': {u\'message\': u"An unexpected error prevented the server from fulfilling your request. (IntegrityError) (1451, \'Cannot delete or update a parent row: a foreign key constraint fails (`keystone`.`user_tenant_membership`, CONSTRAINT `user_tenant_membership_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))\') \'DELETE FROM user WHERE user.id = %s\' (\'8ff74e30de82449e902d83b869f51e40\',)", u\'code\': 500, u\'title\': u\'Internal Server Error\'}}

Looks like the delete_user Admin API call isn't properly removing the user from its tenant memberships before attempting to delete the user record itself.

Joseph Heck (heckj)
Changed in keystone:
status: New → Triaged
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.