使用Keystone v2.0 Python API从OpenStack获取租户列表
我刚接触OpenStack,想通过Keystone v2.0的Python API来获取OpenStack虚拟机中的租户列表。
from keystoneclient.v2_0 import client as ksclient
keystone_client = ksclient.Client(token='token', endpoint='http://1.1.1.1:35357/v2.0')
keystone_client.tenants.list()
但是上面的操作失败了,出现了以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/keystoneclient/v2_0/tenants.py", line 116, in list
tenant_list = self._list("/tenants%s" % query, "tenants")
File "/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 68, in _list
resp, body = self.api.get(url)
File "/usr/lib/python2.7/dist-packages/keystoneclient/client.py", line 587, in get
return self._cs_request(url, 'GET', **kwargs)
File "/usr/lib/python2.7/dist-packages/keystoneclient/client.py", line 583, in _cs_request
**kwargs)
File "/usr/lib/python2.7/dist-packages/keystoneclient/client.py", line 555, in request
raise exceptions.from_response(resp, body or resp.text)
keystoneclient.exceptions.ClientException: Unable to communicate with identity service: <TITLE> Cannot Connect </TITLE>
<H2>Cannot Connect</H2>
你能分享一下你的看法吗?
1 个回答
0
看起来keystone服务已经停止了。
如果你在使用devstack,可以检查一下keystone进程是否在运行。
可以用这个命令:ps -ef | grep keystone
如果你是手动安装keystone作为服务的话,
可以用这个命令:service --status-all | grep keystone
如果你在使用devstack,可以重新加入堆栈,按Ctrl + A + 1可以查看keystone的日志。
cd /path/to/devstack
./rejoin-stack.sh