It looks like the marker paramter's value being a UUID is having an issue:
Example recreation:
$ curl -s "http://127.0.0.1:8080/v1/projects?sort_dir=asc&limit=30&sort_keys=created_at%2Cid" -H "Content-Type: application/json" -H "X-Auth-Token: demo_root" -H "X-Auth-User: demo_root" -H "X-Auth-Project: b9f10eca66ac4c279c139d01e65f96b4" | jq
{
"links": [
{
"href": "http://127.0.0.1:8080/v1/projects?sort_dir=asc&limit=30&sort_keys=created_at%2Cid",
"rel": "first"
},
{
"href": "http://127.0.0.1:8080/v1/projects?sort_dir=asc&limit=30&sort_keys=created_at%2Cid",
"rel": "prev"
},
{
"href": "http://127.0.0.1:8080/v1/projects?sort_dir=asc&limit=30&sort_keys=created_at%2Cid",
"rel": "self"
},
{
"href": "http://127.0.0.1:8080/v1/projects?marker=b9f10eca-66ac-4c27-9c13-9d01e65f96b4&sort_dir=asc&limit=30&sort_keys=created_at%2Cid",
"rel": "next"
}
],
"projects": [
{
"created_at": "2017-02-17T20:43:16.000000",
"id": "b9f10eca-66ac-4c27-9c13-9d01e65f96b4",
"name": "demo",
"updated_at": "2017-02-17T20:43:16.000000"
}
]
}
$ curl -s "http://127.0.0.1:8080/v1/projects?marker=b9f10eca-66ac-4c27-9c13-9d01e65f96b4&sort_dir=asc&limit=30&sort_keys=created_at%2Cid" -H "Content-Type: application/json" -H "X-Auth-Token: demo_root" -H "X-Auth-User: demo_root" -H "X-Auth-Project: b9f10eca66ac4c279c139d01e65f96b4"
A server error occurred. Please contact the administrator.
Traceback:
172.17.0.1 - - [17/Feb/2017 20:45:06] "GET /v1/projects?marker=b9f10eca-66ac-4c27-9c13-9d01e65f96b4&sort_dir=asc&limit=30&sort_keys=created_at%2Cid HTTP/1.1" 500 59
Traceback (most recent call last):
File "/usr/lib/python3.5/wsgiref/handlers.py", line 137, in run
self.result = application(self.environ, self.start_response)
File "/craton/lib/python3.5/site-packages/webob/dec.py", line 131, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/craton/lib/python3.5/site-packages/webob/dec.py", line 196, in call_func
return self.func(req, *args, **kwargs)
File "/craton/lib/python3.5/site-packages/oslo_middleware/request_id.py", line 37, in __call__
response = req.get_response(self.application)
File "/craton/lib/python3.5/site-packages/webob/request.py", line 1316, in send
application, catch_exc_info=False)
File "/craton/lib/python3.5/site-packages/webob/request.py", line 1280, in call_application
app_iter = application(self.environ, start_response)
File "/craton/lib/python3.5/site-packages/webob/dec.py", line 131, in __call__
resp = self.call_func(req, *args, **self.kwargs)
File "/craton/lib/python3.5/site-packages/webob/dec.py", line 196, in call_func
return self.func(req, *args, **kwargs)
File "/craton/lib/python3.5/site-packages/oslo_middleware/base.py", line 126, in __call__
response = req.get_response(self.application)
File "/craton/lib/python3.5/site-packages/webob/request.py", line 1316, in send
application, catch_exc_info=False)
File "/craton/lib/python3.5/site-packages/webob/request.py", line 1280, in call_application
app_iter = application(self.environ, start_response)
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1994, in __call__
return self.wsgi_app(environ, start_response)
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "/craton/lib/python3.5/site-packages/flask_restful/__init__.py", line 271, in error_router
return original_handler(e)
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "/craton/lib/python3.5/site-packages/flask/_compat.py", line 32, in reraise
raise value.with_traceback(tb)
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/craton/lib/python3.5/site-packages/flask_restful/__init__.py", line 271, in error_router
return original_handler(e)
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/craton/lib/python3.5/site-packages/flask/_compat.py", line 32, in reraise
raise value.with_traceback(tb)
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/craton/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/craton/lib/python3.5/site-packages/flask_restful/__init__.py", line 477, in wrapper
resp = resource(*args, **kwargs)
File "/craton/lib/python3.5/site-packages/flask/views.py", line 84, in view
return self.dispatch_request(*args, **kwargs)
File "/craton/lib/python3.5/site-packages/flask_restful/__init__.py", line 587, in dispatch_request
resp = meth(*args, **kwargs)
File "/craton/lib/python3.5/site-packages/craton/api/v1/validators.py", line 243, in wrapper
resp = view(*args, **kwargs)
File "/craton/lib/python3.5/site-packages/craton/api/v1/validators.py", line 234, in wrapper
return view(*args, **kwargs)
File "/craton/lib/python3.5/site-packages/craton/api/v1/validators.py", line 214, in wrapper
result = validator.validate(value)
File "/craton/lib/python3.5/site-packages/craton/api/v1/validators.py", line 193, in validate
value = self.type_convert(value)
File "/craton/lib/python3.5/site-packages/craton/api/v1/validators.py", line 189, in type_convert
result[k] = fun(values)
File "/craton/lib/python3.5/site-packages/craton/api/v1/validators.py", line 169, in <lambda>
'integer': lambda v: int(v[0]),
ValueError: invalid literal for int() with base 10: 'b9f10eca-66ac-4c27-9c13-9d01e65f96b4'
Reviewed: https:/ /review. openstack. org/435599 /git.openstack. org/cgit/ openstack/ craton/ commit/ ?id=95c61074fbf e94570b9f8eac88 8f74a5cec1776f
Committed: https:/
Submitter: Jenkins
Branch: master
commit 95c61074fbfe945 70b9f8eac888f74 a5cec1776f
Author: Thomas Maddox <email address hidden>
Date: Fri Feb 17 21:22:15 2017 +0000
Use String for Project ID in schema
This patch sets the schema to accept a string
for Project ID since it's actually a UUID
Change-Id: Iad8733594ca83c 3bc061017fd9eae 6861f31ee5d
Closes-Bug: 1665780