2017-03-29 37 views
0

我学习OpenStack的,现在我想通过HTTP GET与x_auth_token要求列出我的OpenStack控制器上的所有访问卷:如何使用的OpenStack API V3列出访问卷

的http:// {OpenStack的控制器IP} :8776/V3/{PROJECT_ID} /体积

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

但是,请求体如下总是:

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

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

+0

的第一步是诊断API的问题应是运行现有的命令行的一个客户在'--debug'模式下。这会告诉你客户正在做的确切请求(所以,运行'cinder --debug list')。 – larsks

+0

我运行'cinder --debug list',但没有显示我真正理解的信息,有没有其他的事情可以尝试调试这个问题? – lyn

回答

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}" 

请确保您有输入每个必要的报头(背景型/ X-auth的令牌/ ...)。

  • 尝试在IRC通道求人#开栈-煤渣