Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-1094 Missing OpenStack Zaqar Support
  3. JCLOUDS-1095

Update OpenStack KeyStone Support for Zaqar

    XMLWordPrintableJSON

Details

    Description

      jclouds doesn't work with newer OpenStack Liberty because KeyStone support wasn't updated when Marconi was renamed to Zaqar [1]:

      >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials
      Sending request -290728718: POST http://localhost:5000/v2.0/tokens HTTP/1.1
      >> "{"auth":{"passwordCredentials":{"username":"demo","password":"OracleCorp1"},"tenantName":"demo"}}"
      >> POST http://localhost:5000/v2.0/tokens HTTP/1.1
      >> Accept: application/json
      >> Content-Type: application/json
      >> Content-Length: 97
      Receiving response -290728718: HTTP/1.1 200 OK
      << HTTP/1.1 200 OK
      << Connection: Keep-Alive
      << Date: Sun, 20 Mar 2016 19:31:59 GMT
      << Keep-Alive: timeout=5, max=100
      << OkHttp-Received-Millis: 1458502336965
      << OkHttp-Selected-Protocol: http/1.1
      << OkHttp-Sent-Millis: 1458502325396
      << Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
      << Vary: X-Auth-Token
      << x-openstack-request-id: req-6c6b3fd7-265d-4741-823b-abba30eaf0c4
      << Content-Type: application/json
      << Content-Length: 3146
      << "{"access": {"token": {"issued_at": "2016-03-20T19:32:11.415516", "expires": "2016-03-20T20:32:11Z", "id": "1fb83aaec7df45678a46d5cb4d2cc7f1", "tenant": {"description": "", "enabled": true, "id": "7530fad032ca431e9dc8ed4a5de5d99c", "name": "demo"}, "audit_ids": ["C9UH7GUfS1O-iai-Ab4-xg"]}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.0.2.15:8774/v2.1/7530fad032ca431e9dc8ed4a5de5d99c", "region": "RegionOne", "internalURL": "http://10.0.2.15:8774/v2.1/7530fad032ca431e9dc8ed4a5de5d99c", "id": "276f6225429a40559b4c128e49baf225", "publicURL": "http://10.0.2.15:8774/v2.1/7530fad032ca431e9dc8ed4a5de5d99c"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8776/v2/7530fad032ca431e9dc8ed4a5de5d99c", "region": "RegionOne", "internalURL": "http://10.0.2.15:8776/v2/7530fad032ca431e9dc8ed4a5de5d99c", "id": "2b709fa905524b6487678575a063aeaf", "publicURL": "http://10.0.2.15:8776/v2/7530fad032ca431e9dc8ed4a5de5d99c"}], "endpoints_links": [], "type": "volumev2", "name": "cinderv2"}, {"endpoints": [{"adminURL": "http://10.0.2.15:9292", "region": "RegionOne", "internalURL": "http://10.0.2.15:9292", "id": "4a05015fbaa948bfa2926c15a95135bf", "publicURL": "http://10.0.2.15:9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8774/v2/7530fad032ca431e9dc8ed4a5de5d99c", "region": "RegionOne", "internalURL": "http://10.0.2.15:8774/v2/7530fad032ca431e9dc8ed4a5de5d99c", "id": "146b19c441ad4c37afcfe3d43f225812", "publicURL": "http://10.0.2.15:8774/v2/7530fad032ca431e9dc8ed4a5de5d99c"}], "endpoints_links": [], "type": "compute_legacy", "name": "nova_legacy"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8776/v1/7530fad032ca431e9dc8ed4a5de5d99c", "region": "RegionOne", "internalURL": "http://10.0.2.15:8776/v1/7530fad032ca431e9dc8ed4a5de5d99c", "id": "41c2ea752e64469db47e073352ce879a", "publicURL": "http://10.0.2.15:8776/v1/7530fad032ca431e9dc8ed4a5de5d99c"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8888", "region": "RegionOne", "internalURL": "http://10.0.2.15:8888", "id": "334400e79b1d4227a35fc2c18d5c5e5f", "publicURL": "http://10.0.2.15:8888"}], "endpoints_links": [], "type": "messaging", "name": "zaqar"}, {"endpoints": [{"adminURL": "http://10.0.2.15:9000", "region": "RegionOne", "internalURL": "http://10.0.2.15:9000", "id": "37cffe94225245c5be3969a56ba7bb16", "publicURL": "http://10.0.2.15:9000"}], "endpoints_links": [], "type": "messaging-websocket", "name": "zaqar-websocket"}, {"endpoints": [{"adminURL": "http://10.0.2.15:35357/v2.0", "region": "RegionOne", "internalURL": "http://10.0.2.15:5000/v2.0", "id": "ae21d57f556e4325be542678ef8e2807", "publicURL": "http://10.0.2.15:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": "demo", "roles_links": [], "id": "1f686d3a367d462e8d51b09b232b6472", "roles": [{"name": "anotherrole"}, {"name": "Member"}], "name": "demo"}, "metadata": {"is_admin": 0, "roles": ["a8fbdbe6c73942b5a3c55ba2e88c78aa", "389760f917624114b035c8d6e6bc8ad5"]}}}"
      Exception in thread "main" java.util.NoSuchElementException: apiType queuing not found in catalog []
      	at org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:96)
      	at org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:54)
      	at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
      	at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
      	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
      	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
      	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
      	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
      	at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
      	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
      	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
      	at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
      	at org.jclouds.location.functions.RegionToEndpoint.apply(RegionToEndpoint.java:43)
      	at org.jclouds.location.functions.RegionToEndpoint.apply(RegionToEndpoint.java:32)
      	at org.jclouds.rest.internal.RestAnnotationProcessor.getEndpointInParametersOrNull(RestAnnotationProcessor.java:495)
      	at org.jclouds.rest.internal.RestAnnotationProcessor.getEndpointFor(RestAnnotationProcessor.java:518)
      	at org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:188)
      	at org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
      	at org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
      	at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
      	at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
      	at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
      	at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
      	at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
      	at com.sun.proxy.$Proxy54.create(Unknown Source)
      	at br.eti.fernandoribeiro.sample.openstack.OpenStackSample.main(OpenStackSample.java:80)

      The messaging service is now called "messaging" instead of "queuing" in the service catalog.

      [1] http://lists.openstack.org/pipermail/openstack-dev/2014-July/041528.html

      Attachments

        Activity

          People

            Unassigned Unassigned
            fribeiro Fernando Ribeiro
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: