Public bug reported:

The keystone.common.controller._get_domain_id_for_list_request comment says the 
below:
        """Get the domain_id for a v3 list call.

        If we running with multiple domain drivers, then the caller must
        specify a domain_id either as a filter or as part of the token scope.

        """

But keystone instead of pulling the domain information from the token
scope (the "or" in that statement), keystone fails with an HTTP 401 if
you don't explicitly indicate the domain with the domain_id query
parameter, as shown with the following commands:

[root@mysystem ~]# curl -k -i -X GET https://127.0.0.1:5000/v3/groups -H 
"Accept: application/json" -H "X-Auth-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7"
HTTP/1.1 401 Unauthorized
content-length: 114
vary: X-Auth-Token
server: Apache/2.4.6 (Red Hat) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
date: Wed, 11 Mar 2015 20:50:31 GMT
content-type: application/json
www-authenticate: Keystone 
uri="https://ip9-114-226-167.pok.stglabs.ibm.com:5000";

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

[root@mysystem ~]# curl -k -X GET https://127.0.0.1:5000/v3/auth/tokens -H 
"Accept: application/json" -H "X-Auth-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7" 
-H "X-Subject-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7" | python -mjson.tool
{
    "token": {
...
        "user": {
            "domain": {
                "id": "default",
                "name": "Default"
            },
            "id": 
"0688b01e6439ca32d698d20789d52169126fb41fb1a4ddafcebb97d854e836c9",
            "name": "root"
        }
    }
}


[root@mysystem ~]# curl -k -i -X GET 
https://127.0.0.1:5000/v3/groups?domain_id=default -H "Accept: 
application/json" -H "X-Auth-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7"
HTTP/1.1 200 OK
...

** Affects: keystone
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1431015

Title:
  v3/users or groups calls not working without domain_id

Status in OpenStack Identity (Keystone):
  New

Bug description:
  The keystone.common.controller._get_domain_id_for_list_request comment says 
the below:
          """Get the domain_id for a v3 list call.

          If we running with multiple domain drivers, then the caller must
          specify a domain_id either as a filter or as part of the token scope.

          """

  But keystone instead of pulling the domain information from the token
  scope (the "or" in that statement), keystone fails with an HTTP 401 if
  you don't explicitly indicate the domain with the domain_id query
  parameter, as shown with the following commands:

  [root@mysystem ~]# curl -k -i -X GET https://127.0.0.1:5000/v3/groups -H 
"Accept: application/json" -H "X-Auth-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7"
  HTTP/1.1 401 Unauthorized
  content-length: 114
  vary: X-Auth-Token
  server: Apache/2.4.6 (Red Hat) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
  date: Wed, 11 Mar 2015 20:50:31 GMT
  content-type: application/json
  www-authenticate: Keystone 
uri="https://ip9-114-226-167.pok.stglabs.ibm.com:5000";

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

  [root@mysystem ~]# curl -k -X GET https://127.0.0.1:5000/v3/auth/tokens -H 
"Accept: application/json" -H "X-Auth-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7" 
-H "X-Subject-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7" | python -mjson.tool
  {
      "token": {
  ...
          "user": {
              "domain": {
                  "id": "default",
                  "name": "Default"
              },
              "id": 
"0688b01e6439ca32d698d20789d52169126fb41fb1a4ddafcebb97d854e836c9",
              "name": "root"
          }
      }
  }

  
  [root@mysystem ~]# curl -k -i -X GET 
https://127.0.0.1:5000/v3/groups?domain_id=default -H "Accept: 
application/json" -H "X-Auth-Token: 7f9254f016784efdb3b1e6fa8bc5e4f7"
  HTTP/1.1 200 OK
  ...

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1431015/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to