2017-11-25 6 views
0

私はJavaコードを作成しています.Jsonレスポンスを使用してOpenstackへのHTTPリクエストを行っています。OpenStack POSTリクエスト "X-Auth-Token"

私はトークンを要求するために、次のコマンドを使用します。

curl -v -s -X POST http://$OS_URL:5000/v3/auth/tokens -H "Content-Type: application/json" -d '{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "$USERNAME","domain": {"name": "$DEFAULT_NAME"},"password": "PASSWORD"}}}}}' 

それは私にJSONを返します。今、たとえば、イメージを作成したいのですが、私は、トークンを使ってサービスをグリーンにする方法を知らないのです。 私はこれを使用する場合:

curl -v -s -X POST http://$OS_URL:9292/v2/images -H "Content-Type: application/json" -H "X-Auth_token: $TOKEN_ID" -d '{"container_format": "bare", "disk_format": "qcow2", "name": "NEWIMAGE" }' 

それは私に認証エラーを返します。

答えて

0

私の知る限りでは、プロジェクトのスコープを設定しないでトークンを要求すると、いくつかの問題が発生する可能性があります。なぜ正確にはわからないので、これはおそらく答えではありません。 回避策として、プロジェクトを使用してトークンを要求してください。

{ 
    "auth": { 
     "identity": { 
     "methods": ["password"], 
     "password": { 
     "user": { 
      "name": "username", 
      "domain": { "id": "domain id" }, 
      "password": "password" 
     } 
      } 
     }, 
     "scope": { 
      "project": { 
       "id": "project id" 
      } 
     } 
    } 
}