2016-07-22 72 views
0

我在包含Keystone和Swift的Fedora 24服務器虛擬機上安裝了一臺OpenStack Mitaka。我經歷了OpenStack安裝說明並獲得了v3 keystone API的正常工作,但是我正在安裝的一些其他軟件取決於v2。即使對v3 API的等效請求正常工作,我也無法使用v2 API進行身份驗證並獲取令牌。這裏有兩個請求我做:如何在V3和V2 API中製作相同的Openstack Keystone認證請求?

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 

的V3請求返回一個令牌,但V2請求失敗:

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

這些API請求是否等同?是否需要更改keystone.conf設置才能使V2 API有效?

回答

0

如果您在默認情況下運行v2 keystone版本,它將在http://SERVER:5000/v2.0上啓動,確保您的端口已打開並且v2版本已啓用且正在運行。

+0

v2 API肯定已啓動並正在運行,並且我已經在5000和35357上嘗試了這個請求。如果我更改了請求主體的格式和拼寫錯誤passwordCredentials,它特別抱怨缺少該元素,這只是部分的v2 API AFAIK。 – sew