← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1501740] Re: Creating a region without request parameters failed.

 

Reviewed:  https://review.openstack.org/237448
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=ba7973b86992b4f8c9ee69c1d94ca4d9569eab4c
Submitter: Jenkins
Branch:    master

commit ba7973b86992b4f8c9ee69c1d94ca4d9569eab4c
Author: Dave Chen <wei.d.chen@xxxxxxxxx>
Date:   Tue Oct 20 15:44:32 2015 +0800

    Fix schema validation to use JSONSchema for empty entity
    
    APIs such as region creation allow an empty entity (a random UUID will
    be generated as the region in this case).
    
    Keystone uses JSONShema for validation and will allow an empty entity
    to be passed if the schema doesn't have `required` properties (as the
    region creation schema allows).
    
    The patch fixes the schema validation code to pass even an empty entity
    to JSONSchema validation so that an API such as region create can pass
    the validation and can be created successfully.
    
    Change-Id: If3dd49af5e16bb3b741efa4573f9f8e9085ddd14
    Closes-Bug: #1501740


** Changed in: keystone
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1501740

Title:
  Creating a region without request parameters failed.

Status in OpenStack Identity (keystone):
  Fix Released

Bug description:
  Use Identity API v3 (CURRENT)

  URL: http://developer.openstack.org/api-ref-
  identity-v3.html#createRegion

  Issu: Creating a region failed when optional parameters are not
  specified.

  "POST /v3/regions" has 3 parameters, which are "region", "description" and "parent_region_id".
  "description" and "parent_region_id" are optional.
  Although this API with only "region" parameter should succeed, it fails.

  I confirmed this issue by the following command:

  curl -s -X POST -H "X-Auth-Token: $TOKEN" -H "Content-type: application/json" http://localhost:5000/v3/regions -d '{ "region": {} }' | python -m json.tool
  {
      "error": {
          "code": 400,
          "message": "Expecting to find region in request body - the server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error.",
          "title": "Bad Request"
      }
  }

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


References