Skip to content

Does Identity API support Keystone V3? #645

@westenb

Description

@westenb

Hello,

does the Identity API support Keystone V3 for e.g. accessing users / projects / etc. In general, the identity() API of openstack4j seems to be Keystone V2 based in terms of terminology.

In my case, I am trying to access the identity service as follows (using OpenStack4j 2.11):
os.identity().users().getByName(aclUser)

and I am getting in my OpenStack environment with Keystone V3 the following exception pointing to some format incompatibility:

com.fasterxml.jackson.databind.JsonMappingException: Root name 'users' does not match expected ('user') for type [simple type, class org.openstack4j.openstack.identity.domain.KeystoneUser]
 at [Source: org.glassfish.jersey.message.internal.EntityInputStream@75fc8df; line: 1, column: 2]
        at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148)
        at com.fasterxml.jackson.databind.ObjectReader._unwrapAndDeserialize(ObjectReader.java:1439)
        at com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:1229)
        at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:676)
        at com.fasterxml.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:777)
        at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:257)
        at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:229)
        at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:149)
        at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1124)
        at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:851)
        at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:783)
        at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:326)
        at org.glassfish.jersey.client.InboundJaxrsResponse$1.call(InboundJaxrsResponse.java:111)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:399)
        at org.glassfish.jersey.client.InboundJaxrsResponse.readEntity(InboundJaxrsResponse.java:108)
        at org.openstack4j.connectors.jersey2.HttpResponseImpl.readEntity(HttpResponseImpl.java:113)
        at org.openstack4j.core.transport.HttpEntityHandler.handle(HttpEntityHandler.java:65)
        at org.openstack4j.core.transport.HttpEntityHandler.handle(HttpEntityHandler.java:24)
        at org.openstack4j.connectors.jersey2.HttpResponseImpl.getEntity(HttpResponseImpl.java:63)
        at org.openstack4j.openstack.internal.BaseOpenStackService$Invocation.execute(BaseOpenStackService.java:189)
        at org.openstack4j.openstack.internal.BaseOpenStackService$Invocation.execute(BaseOpenStackService.java:183)
        at org.openstack4j.openstack.identity.internal.UserServiceImpl.getByName(UserServiceImpl.java:104)

Regards, Eric

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions