novaclient身份验证期间出现urlsplit错误

2024-05-23 19:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一些OpenStack设备,我厌倦了与仪表板的斗争,所以我想用python编写我自己的一点自动化。然而,我几乎没把脚弄湿,我遇到了麻烦。在

代码:

from keystoneclient.auth.identity import v2
from keystoneclient import session
from novaclient.client import Client

auth = v2.Password(auth_url='http://10.0.0.1:5000/v2.0/', username='foo.bla-admin',
    password='hunter2', tenant_name='foo.bla')
sess = session.Session(auth=auth)
nova = Client(2, sess)

print nova.authenticate()

错误:

^{pr2}$

所有的连接信息都来自控制器上的环境变量,所以我知道这应该是正确的,我尝试过用项目ID交换租户名称,但仍然没有任何乐趣。我不知道为什么它在urlparse中一直抛出这个错误,或者为什么它似乎在使用1.1客户端,尽管我已经指定了v2。在

而且,无论我是否使用keystone auth,我都会得到相同的错误,我认为这是自OS_AUTH_STRATEGY=keystone以来在控制器的rc文件中的最佳选择。在

最后,如果有帮助,在导入过程中,我还会收到以下不推荐警告:

/usr/lib/python2.6/site-packages/keystoneclient/access.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_utils instead.
  from oslo.utils import timeutils
/usr/lib/python2.6/site-packages/keystoneclient/i18n.py:21: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_i18n instead.
  from oslo import i18n
/usr/lib/python2.6/site-packages/keystoneclient/session.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.
  from oslo.config import cfg
/usr/lib/python2.6/site-packages/keystoneclient/session.py:21: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_serialization instead.
  from oslo.serialization import jsonutils

Tags: thefrompyimportauthpackagesessionlib
1条回答
网友
1楼 · 发布于 2024-05-23 19:00:48

你的代码有一些错误。仔细看看api documentation。如果您打电话:

nova = Client(2, sess)

sess无法获得对session关键字参数的传递。你想要:

^{pr2}$

而且您不需要调用nova.authenticate()。在

相关问题 更多 >