curl无法列出租户服务器

时间:2016-04-12 12:10:15

标签: api curl openstack

我正在尝试列出一些信息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"}]}]}

所以我的问题是这里出了什么问题,我得到了令牌和列出租户的输出但我无法获得列出服务器的输出?

先谢谢了!

1 个答案:

答案 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连接到服务。