Comment 3 for bug 1220913

Revision history for this message
Dolph Mathews (dolph) wrote :

The scope of work for this bug is quite extensive, so it likely needs to be completed in pieces.

All of the following methods are "proxy" methods in the identity manager:

  https://github.com/openstack/keystone/blob/c80282c3bee1ed1ee2ac5f1a4a9e5b1f56d4e6d2/keystone/identity/core.py#L455-L556

Each of these methods needs to be removed. Removing any of them will result in test failures, etc. Callers simply need to be revised from calling identity_api.method() to call assignment_api.method() directly (bypassing the proxy method being removed).

There is also an extensive amount of driver cross-reference causing a circular dependency between identity and assignment. All of these cross references to assignment_api should be removed:

  https://github.com/openstack/keystone/blob/c80282c3bee1ed1ee2ac5f1a4a9e5b1f56d4e6d2/keystone/identity/core.py#L62-L182

Even worse, assignment and identity drivers are interdependent and these dependencies need to be removed, for example:

  https://github.com/openstack/keystone/blob/c80282c3bee1ed1ee2ac5f1a4a9e5b1f56d4e6d2/keystone/assignment/backends/sql.py#L29