Support Identity v3
Hi!
Since the release of Openstack Havana the preferred version of Identity to use is v3. Some cloud providers have now migrated to only supporting v3 for token generation to get support for domains.
Currently the Openstack.NET SDK does not work with providers that require support for Identity v3.
Would it be possible to add support for Identity v3 in this project as well?
I don't know how you're the first person to request this, but it looks like you are! :smile:
I've done quite a bit of work on an implementation of this service for the new SDK, but it's not quite ready to merge. Would you perhaps be interested in helping smoothing out some of its rough edges?
I‘m interested in helping implementing this issue, where do i start?
@jiangzehua Here's the spec for identity v3. Then good place to start is to look at how Compute is implemented and mimic it.
The API class is coded in a generic, extensible way so that it can be used with any OpenStack provider, who may need to tweak and customize based on what they support.
e.g. https://github.com/openstacknetsdk/openstack.net/blob/develop/src/corelib/Compute/v2_1/Serialization/ComputeApi.cs
public virtual async Task<T> GetServerAsync<T>(string serverId, CancellationToken cancellationToken = default(CancellationToken))
Then on top of that we wrap and expose the API in a Service class. The Service class is what the end-user will interact with.
e.g. https://github.com/openstacknetsdk/openstack.net/blob/develop/src/corelib/Compute/v2_1/ComputeService.cs
public Task<Server> GetServerAsync(Identifier serverId, CancellationToken cancellationToken = default(CancellationToken))
That along with getting request/response classes built out is the main portion of the work.
Each OpenStack feature has two types of tests: unit and integration. The unit tests mock the OpenStack API, see https://github.com/openstacknetsdk/openstack.net/blob/develop/src/testing/unit/Compute/v2_1/ServerTests.cs for an example. Then the integration tests run against a real OpenStack instance, see https://github.com/openstacknetsdk/openstack.net/blob/develop/src/testing/integration/Compute/v2_1/ServerTests.cs.
If you have any questions, feel free to hit me up directly at [email protected].
Hi guys, Any progress? I need this functionality to use with IBM Bluemix Thanks
@tomsawdayee Unfortunately, this is on the backburner indefinitely and I don't know when I'll have time again to work on the SDK, other than bug fixes. If you'd like to work on identity v3 yourself, I'd be happy to help. Just open a PR and we can collaborate on it.
Thanks. I'll see what I can do.
@tomsawdayee I needed it for Bluemix so I did this
@lsarni Thanks a lot, your code works great