Barbican client has to be Keystone V3.0 API complaint

Registered by Arvind Tiwari

Keystone has deprecated Keystone V2.0 API and V2.0 API will be de commissioned by "K" release. Barbican client has to sync up with Keystone V3.0 API ASAP.

https://github.com/cloudkeep/python-barbicanclient

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Arvind Tiwari
Direction:
Needs approval
Assignee:
Guang Yee
Definition:
Obsolete
Series goal:
Proposed for juno
Implementation:
Unknown
Milestone target:
None
Completed by
Douglas Mendizábal

Related branches

Sprints

Whiteboard

After some brainstorming after reviewing the proposed change, I think that adding the Auth Plugin layer of abstraction to Keystone is the wrong approach for integration with keystone, as we are required to write a facade that is smart enough to deal with different versions of the keystone client.

The pain of maintaining this abstraction layer is not justified, and I think that to be able to easily support keystone moving forward, we should abandon the Auth Plugin layer, and instead consume Keystone client objects directly. See https://gist.github.com/dmend/9696107 for an example.

I think that a better approach for this is to allow barbicanclient.client.Client to accept instances of keystone client and then determine at runtime whether actions need to be taken to deal with the different versions of keystone.

This would include deprecating the following classes:
* barbicanclient.common.auth.AuthPluginBase
* barbicanclient.common.auth.KeystoneAuthV2

Changes will also need to be made in barbicanclient.client.Client so that the barbican url can be parsed out of the keystone catalog, since this is really the only useful part of the Auth Plugin layer.

(dmend) I'm closing this BP since it applies to python-barbicanclient, not the barbican service. This blueprint should be opened in the python-barbicanclient launchpad:

https://blueprints.launchpad.net/python-barbicanclient

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.