【问题标题】:Openstack Authentication issue when using libcloud使用 libcloud 时的 Openstack 身份验证问题
【发布时间】:2015-12-10 11:56:48
【问题描述】:
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver

import libcloud.security

auth_usr   = 'ryan@ccc.sss.com'
auth_pass  = '*********'
auth_url   = 'https://ccc.sss.com:5000/v2.0'
project_name = 'POC'
region_name = ''

libcloud.security.VERIFY_SSL_CERT = False

provider = get_driver(Provider.OPENSTACK)
conn = provider(auth_usr,
                auth_pass,
                ex_force_auth_url=auth_url,
                ex_force_auth_version='2.0_password',
                ex_tenant_name=project_name,
                ex_force_service_region=region_name)

images = conn.list_images()

for image in images:
    print(image)

导致以下错误:

BaseHTTPError: {"error": {"message": "get_version_v2() got an unexpected keyword argument 'auth'", "code": 400, "title": "Bad Request"}}

我还尝试从 url 中删除 v2.0 并添加 /tokens。两者都不起作用,它们会导致“找不到端点”错误。

我正在使用 vmware 集成的 OpenStack。

【问题讨论】:

  • curl -X POST -i -k -H "Content-Type: application/json" -d "{\"auth\": { \"passwordCredentials\": { \"password\" : \"*******\", \"username\": \"ryan@ccc.sss.com\" }, \"tenantName\": \"POC\" } }" ccc.sss.com:5000/v2.0/tokens 有效:/ 但是如果我在 libcloud 示例中使用 /tokens 我没有端点

标签: vmware openstack keystone libcloud


【解决方案1】:

好吧,在我的情况下,您需要将区域设置为“nova”才能使其工作。

ex_force_service_region="nova"

我必须通过 pyDev 中的代码来确定问题所在的区域不匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多