Description of problem: When a user is deleted in a LDAP or AD backend it happens that some leftover information remains in the assignments table. When it happens we can see in the project the user uuid but we are not able to delete it. We would like to have a tool to manipulate the assignments directly without having to go to the database in order to achieve this task, for example # keystone assignment-delete <tenant> <user> or a way to resync the current assignment with the backend and remove from the database the deleted users Version-Release number of selected component (if applicable): OSP 6 How reproducible: always Steps to Reproduce: Starting from a keystone using AD backend: 1. Give a role in a project to the user 2. Delete the user from the backend 3. Actual results: A uuid is displayed in the project users It is not possible to delete it manually Expected results: - uuid not displayed in the project users - a way to delete the assignement when it happens Additional info:
*** Bug 1252816 has been marked as a duplicate of this bug. ***
You should be able to use the V3 API to delete a role from a user: http://git.openstack.org/cgit/openstack/keystone-specs/tree/api/v3/identity-api-v3.rst#n5023 DELETE /domains/{domain_id}/users/{user_id}/roles/{role_id} Looking through the code, I do not think that it does any check for the user in the identity backend. The Openstack common Client with OS_IDENTITY_API_VERSION=3 should be making that call.