按照“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 集群。如果答案是肯定的,我可能错在哪里?