2017-03-29 4 views
0

Liste ich jetzt lerne Openstack und ich möchte alle Volumes auf meinem Openstack-Controller zur Liste von HTTP-GET-Anfrage mit x_auth_token:Wie API v3 verwenden Openstack zu Volumes

http: // {Openstack-Controller IP} : 8776/v3/{project_id}/Volumen

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

Aber der Antrag Körper immer wie folgt:

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

Ich habe viele Male versucht, aber sie alle haben nicht funktioniert. Also, ich möchte wissen, was die Anfrage URL hier sein sollte? Vielen Dank im Voraus .....

+0

Der erste Schritt ist die Diagnose von API Probleme sein sollte, fragen Sie einen der vorhandenen Befehlszeilen-Clients laufen im '--debug' Modus. Dadurch werden Ihnen die genauen Anforderungen angezeigt, die der Client ausführt (führen Sie also "cinder --debug list" aus). – larsks

+0

Ich renne 'Asche - Debug-Liste', aber es zeigte nicht die Informationen, die ich wirklich verstehe, gibt es andere Dinge, die ich versuchen kann, dieses Problem zu debuggen? – lyn

Antwort

0

Einer der möglichen Gründe ist, dass Ihr project_id falsch ist oder nicht Ihre Berechtigungsnachweis an diesem link zu sehen, entspricht. Um dieses Problem zu lösen, können Sie:
1. Versuchen Sie Openstack-Befehl mit Debug-Option.

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

Sie die Anfrage und Antwort Details bekommen konnte:

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

Stellen Sie sicher, die Sie eingegeben haben alle erforderlichen Header (kontext Typ/x-Auth-Token/...).

  1. Try für die Hilfe in IRC-Kanal # Openstack-Zinder