yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #45576
[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