2016-04-12 6 views
-1

Ich versuche, einige Info API Stil aufzulisten :) und was ich bis jetzt getan habe, ist das folgende: Mit "Curl" kann ich die Token aus, mit dem Token kann ich Liste die Mieter auf, aber danach kann ich die Server und andere Informationen nicht auflisten. Wenn ich die "nova --debug list --all-tenants" ausführe, bekomme ich die Ergebnisse und bekomme die Befehle, die mit curl ausgeführt werden. Wenn ich das von außen versuche, bekomme ich einen Fehler "404" Die Ressource konnte nicht gefunden werden.curl kann nicht Tenants Server auflisten

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" 

Und mit dem folgenden Befehl bekomme ich Fehler nicht, aber ich bekommen einige seltsame Ergebnisse:

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" 

und der Ausgang ist:

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

So ist meine Frage, was ist falsch hier, ich bekomme Ausgabe für Token und Auflistung Mieter, aber ich kann nicht für die Auflistung von Servern ausgegeben werden ??

Vielen Dank im Voraus!

Antwort

0

Ich habe versucht, zu finden, was mit curl falsch ist - gemacht Anfragen an meine Gastgeber, aber die Antwort ist in der Oberfläche-Antwort :) offensichtlich

Sie versuchen, auf nova-Service mit der Version 2.0 zu verbinden, aber Sie haben nur Endpunkt mit Version = 2 standardmäßig so Version 2.

zum http://x.x.x.x/horizon/project/access_and_security/

sein muss, und überprüfen Sie die „API Access“ Tab gibt es Endpunkte schauen auf die Rechen ein und verwenden Sie es zu Verbindung zum Dienst herstellen. Zum Beispiel hat meine Compute Service-Endpunkt:

Compute  http://controller:8774/v2/004e4c0366b74300b875adfd2c1bca4c 

Nehmen Sie sich auf Dienste von Locke zu verbinden.

+0

Hallo, ich in meinem Compute Service habe diesen Endpunkt: 'Compute http: //x.x.x.x: 8774/v2/40e246807e04495f91e146a9ed04747f' Aber wieder den gleichen Fehler hat. Auch vom Controler, wenn ich die 'nova --debug list --all-tenators 'ausführe, bekomme ich die folgende Ausgabe' curl -i' http: // xxxx: 8774/v2/40e246807e04495f91e146a9ed04747f/servers/detail? All_tenants = 1 ' -X GET -H "Akzeptiere: application/json" -H "Benutzer-Agent: python-novaclient" -H "X-Auth-Projekt-Id: admin" -H "X-Auth-Token : {SHA1} blablabla "' und ich habe die Ausgabe. Aber wenn ich dies von außen mache, funktioniert es nicht für die Auflistung von Servern. Aber für die Mieter ok – IvanAK