1

按照“Ubunut 12.04 LTS 的 OpenStack 安装指南” 配置了具有 keystone e swift 服务的虚拟机网络。我已将 swift 配置为使用 keystone 服务进行身份验证。一切正常。尝试在 keystone 上配置第二个 swift 服务时出现了问题。在关键石上,我创建了两个名为“swift”和“swift2”的 swift 服务,两者都将 type 属性设置为值“object-store”。我为这两个服务设置了端点:"http://proxyserver1:8080/v1/AUTH_%(tenant_id)s"第一个快速服务和"http://proxyserver2:8080/v1/AUTH_%(tenant_id)s"第二个。对于每个 swift 服务,我创建了一个角色为“admin”的用户,并且都属于同一个租户“服务”。当我尝试使用以下方法对 keystone 上的用户进行身份验证时:

curl -s -d '{"auth": {"tenantName": "service", "passwordCredentials": {"username": "swift", "password": "PASSWORD"}}}' -H 'Content-type: application/json' http://identity-manager:5000/v2.0/tokens

我收到包含错误serviceCatalog数组的响应。它只包含两个端点:keystone 本身的端点和对象存储服务的端点。缺少一个对象存储服务端点也是如此。此外,返回的唯一对象存储服务的端点是错误的,因为它是两个对象存储服务的属性混合:

{
  "endpoints": [
    {
      "adminURL": "http://proxyserver2:8080",
      "region": "regionOne",
      "internalURL": "http://proxyserver1:8080/v1/AUTH_74eb7b8a36f64105a7d77fe00a2b6d41",
      "id": "0d30428e6a2d4035baf1c84401c8ff1b",
      "publicURL": "http://proxyserver1:8080/v1/AUTH_74eb7b8a36f64105a7d77fe00a2b6d41"
    }
  ],
  "endpoints_links": [],
  "type": "object-store",
  "name": "swift2"
}

我的问题是是否可以在 keystone 上配置两个 swift 集群。如果答案是肯定的,我可能错在哪里?

4

0 回答 0