我正在尝试列出一些信息API风格:)我到目前为止所做的是以下内容: 使用“curl”我可以获取令牌,使用令牌我可以列出租户,但之后我无法列出服务器和其他信息。如果我执行“nova --debug list --all-tenants”,我会得到结果,并获得用curl执行的命令。所以当我从外面尝试这个时我得到一个错误“404”无法找到资源。
curl -i 'http://x.x.x.x:8774/v2/tenants/' -X GET -H "X-Auth-Token: <Token_ID>" -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "Accept: application/json"
使用以下命令我不会收到错误,但我得到一些奇怪的结果:
curl -i 'http://x.x.x.x:8774/v2.0/<Tenant_ID>/servers' -X ET -H "X-Auth-Token: <Token_ID>" -H "X-Auth-Project-Id: <Tenant_ID>" -H "User-Agent: python-novaclient" -H "Accept: application/json"
,输出为:
HTTP/1.1 300 Multiple Choices
Content-Type: application/json
Content-Length: 357 Date: Sun, 03 Apr
2016 21:59:48 GMT Connection: close
{"choices": [{"status": "CURRENT",
"media-types": [{"base":
"application/xml", "type":
"application/vnd.openstack.compute+xml;version=2"},
{"base": "application/json", "type":
"application/vnd.openstack.compute+json;version=2"}],
"id": "v2.0", "links": [{"href":
"http://x.x.x.x:8774/v2/v2.0/<Tenant_ID>/servers",
"rel": "self"}]}]}
所以我的问题是这里出了什么问题,我得到了令牌和列出租户的输出但我无法获得列出服务器的输出?
先谢谢了!
答案 0 :(得分:0)
我试图找到你向我的主人提出的卷曲请求有什么问题,但答案显然是表面反应:)
您正在尝试使用版本2.0连接到nova服务,但默认情况下您的端点只有版本= 2,因此版本必须为2.
转到http://x.x.x.x/horizon/project/access_and_security/
并检查&#34; API访问&#34;选项卡,有端点查看计算端点并使用它连接到服务。 例如,我的计算服务有端点:
Compute http://controller:8774/v2/004e4c0366b74300b875adfd2c1bca4c
让他们通过curl连接到服务。