【问题标题】:Can't Get Authenticate Swift ContextBuilder with Latest OpenStack无法使用最新的 OpenStack 验证 Swift ContextBuilder
【发布时间】:2018-04-26 14:58:58
【问题描述】:

我已经安装了最新的 OpenStack,我正在使用 Java 和 jclouds SDK 与 OpenStack Swift 交互,在我使用的 OpenStack 环境中,身份 API 版本是 /identity/v3/,Swift API 版本是 @987654323 @,我的代码是:

blobContext = ContextBuilder.newBuilder(PROVIDER)
        .credentials(username, apiKey)
        .endpoint(EndPoint)
        .overrides(multipartProperties)
        //.buildApi(RegionScopedBlobStoreContext.class);
        .buildView(RegionScopedBlobStoreContext.class);
String blobRegion = blobContext.getConfiguredRegions().iterator().next();

所以在线String blobRegion = blobContext.getConfiguredRegions().iterator().next();我得到了例外:

request: POST http://devstack.####.com:#####/v1/tokens HTTP/1.1  [Sensitive data in payload, use jclouds.wire.log.sensitive override to enable logging this data.] failed with response: HTTP/1.1 401 Unauthorized

这段代码过去可以工作,但过去我没有使用最新的 OpenStack,重要的是我的身份服务是 Project-scoped 而不是 Domain-作用域(参考this link) 快速 API 是:http://devstack.####.com:#####/v1/ 我正在使用最新的 jclouds API

而且我相信这个问题会出现在所有的 ContextBuilders 中,那么无论如何我可以解决这个问题吗?

谢谢

【问题讨论】:

    标签: java openstack-swift jclouds


    【解决方案1】:

    要针对新的 OpenStack 环境(运行 Keystone v3)使用 jclouds,您必须使用 jclouds >= 2.1.0 并使用适当的 Keystone 属性配置 ContextBuilder,如下所述: https://jclouds.apache.org/blog/2018/01/16/keystone-v3/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      相关资源
      最近更新 更多