0

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

http://{OpenStack 控制器 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
    }
}

我尝试了很多次,但都没有奏效。所以,我想知道,这里的请求 url 应该是什么?提前致谢.....

4

1 回答 1

1

可能的原因之一是您的project_id不正确或与您的凭据不匹配,请查看此链接。为了解决这个问题,您可以:
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寻求帮助
于 2017-07-21T01:44:09.020 回答