如何使用openstack API v3列出可访问的卷

时间:2017-03-29 12:44:38

标签: openstack openstack-cinder

我现在正在学习OpenStack,我希望通过带有x_auth_token的HTTP get请求列出我的OpenStack控制器上的所有可访问卷:

http:// {OpenStack controller IP}:8776 / v3 / {project_id} / volumes

(参考网址:https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded=#list-accessible-volumes

但是,请求正文总是如下:



    {
    "badRequest":{
    "message": "Malformed request url",
    "code": 400
    }
}




我已多次尝试,但他们都没有工作。 所以,我想知道,请求网址应该在这里? 在此先感谢.....

1 个答案:

答案 0 :(得分:0)

可能的原因之一是您的 project_id 不正确或与凭据不匹配,请查看此link。为了解决这个问题,你可以:
1.尝试使用调试选项的openstack命令。

openstack --debug volume list
#or
cinder --debug list

您可以获得请求和回复详细信息:

REQ: curl -g -i -X GET http://ip:port/v3/{project_id}/volumes/detail -H "User-Agent: python-cinderclient" -H "Accept: application/json" -H "X-Auth-Token: {token_value}"

确保输入了所有必需的标题(context-type / x-auth-token /...).

  1. 尝试在irc频道寻求帮助#openstack-cinder