2016-07-22 20 views
0

Ich habe eine einzige Maschine Installation von OpenStack Mitaka auf einem Fedora 24 Server VM, die Keystone und Swift enthält. Ich habe die OpenStack-Installationsanweisungen gelesen und die v3-Keystone-API funktioniert, aber einige andere Software, die ich installiere, hängt von v2 ab. Ich kann mich nicht mit der v2-API authentifizieren und erhalte ein Token, obwohl die entsprechende Anfrage an die v3-API korrekt funktioniert. Hier sind die beiden Anfragen, die ich mache:Wie wird dieselbe Openstack Keystone-Authentifizierungsanforderung in der V3- und V2-API erstellt?

V3:

curl -i -H "Content-Type: application/json" -d ' 
{ "auth": { 
    "identity": { 
     "methods": ["password"], 
     "password": { 
     "user": { 
      "name": "admin", 
      "domain": { "name": "default" }, 
      "password": "PASSWORD" 
     } 
     } 
    } 
    } 
}' http://SERVER:35357/v3/auth/tokens 

V2:

curl -d -H "Content-Type: application/json" 
'{"auth": { 
     "passwordCredentials": { 
      "username": "admin", 
      "password": "PASSWORD" 
     }, 
     "tenantName": "admin" 
    } 
    }' http://SERVER:35357/v2.0/tokens 

Die V3 Anfrage gibt einen Token, aber die V2 Anforderung schlägt fehl mit:

{"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}} 

Sind diese API-Anfragen äquivalent? Gibt es die Einstellungen von keystone.conf, die geändert werden müssen, damit die V2-API funktioniert?

Antwort

0

Wenn Sie v2 Keystone-Version standardmäßig starten, startet es auf http://SERVER:5000/v2.0 stellen Sie sicher, dass Ihr Port geöffnet ist und v2-Version aktiviert ist und funktioniert.

+0

Die v2-API ist definitiv betriebsbereit und ich habe die Anfrage sowohl auf 5000 und 35357 versucht. Wenn ich das Format der Anfrage ändern und falsch passwordCredentials beschwert es speziell über dieses Element fehlt, und das ist nur ein Teil der v2 API AFAIK. – sew