** Changed in: keystone
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1407661
Title:
keystone with LDAP identity complains about invalid input for
trustor_user_id
Status in OpenStack Identity (Keystone):
Fix Released
Bug description:
I just upgraded to the Juno release. My setup uses multi-domains while
the default domain is backend by the LDAP identity. A secondary domain
for Heat is backend by SQL.
Creating a stack through Heat gives now the following error in
keystone:
2015-01-05 12:35:59.069 25926 WARNING keystone.common.wsgi [-] Invalid
input for field 'trustor_user_id'. The value is 'marcus.klein'.
The corresponding error message in Heat is:
2015-01-02 15:14:59.144 27660 ERROR oslo.messaging.rpc.dispatcher
[req-edf2bcfe-5082-4cd8-a617-cece969aac38 ] Exception during message handling:
Invalid input for field 'trustor_user_id'. The value is 'marcus.klein'. (HTTP
400)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher Traceback
(most recent call last):
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 134,
in _dispatch_and_reply
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher
incoming.message))
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 177,
in _dispatch
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
self._do_dispatch(endpoint, method, ctxt, args)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 123,
in _do_dispatch
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher result
= getattr(endpoint, method)(ctxt, **new_args)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/heat/engine/service.py", line 69, in wrapped
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
func(self, ctx, *args, **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/heat/engine/service.py", line 647, in
create_stack
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher
stack.store()
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/heat/engine/stack.py", line 315, in store
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher
trust_ctx = keystone.create_trust_context()
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/heat/common/heat_keystoneclient.py", line
291, in create_trust_context
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher
role_names=roles)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/v3/contrib/trusts.py", line
74, in create
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher
**kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 71, in func
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
f(*args, **new_kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 327, in create
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher
self.key)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 150, in _create
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
self._post(url, body, response_key, return_raw, **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 164, in _post
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher resp,
body = self.client.post(url, body=body, **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 617, in
post
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
self._cs_request(url, 'POST', **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 603, in
_cs_request
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
self.request(url, method, **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 578, in
request
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher resp =
super(HTTPClient, self).request(url, method, **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/baseclient.py", line 21, in
request
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
self.session.request(url, method, **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/utils.py", line 318, in inner
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher return
func(*args, **kwargs)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher File
"/usr/lib/python2.7/dist-packages/keystoneclient/session.py", line 339, in
request
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher raise
exceptions.from_response(resp, method, url)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher BadRequest:
Invalid input for field 'trustor_user_id'. The value is 'marcus.klein'. (HTTP
400)
2015-01-02 15:14:59.144 27660 TRACE oslo.messaging.rpc.dispatcher
2015-01-02 15:14:59.186 27660 ERROR oslo.messaging._drivers.common
[req-edf2bcfe-5082-4cd8-a617-cece969aac38 ] Returning exception Invalid input
for field 'trustor_user_id'. The value is 'marcus.klein'. (HTTP 400) to caller
2015-01-02 15:14:59.187 27660 ERROR oslo.messaging._drivers.common
[req-edf2bcfe-5082-4cd8-a617-cece969aac38 ] ['Traceback (most recent call
last):\n', ' File
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 134,
in _dispatch_and_reply\n incoming.message))\n', ' File
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 177,
in _dispatch\n return self._do_dispatch(endpoint, method, ctxt, args)\n', '
File "/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line
123, in _do_dispatch\n result = getattr(endpoint, method)(ctxt,
**new_args)\n', ' File
"/usr/lib/python2.7/dist-packages/heat/engine/service.py", line 69, in
wrapped\n return func(self, ctx, *args, **kwargs)\n', ' File
"/usr/lib/python2.7/dist-packages/heat/engine/service.py", line 647, in
create_stack\n stack.store()\n', ' File
"/usr/lib/python2.7/dist-packages/heat/engine/stack.py", line 315, in store\n
trust_ctx = keystone.create_trust_co
ntext()\n', ' File
"/usr/lib/python2.7/dist-packages/heat/common/heat_keystoneclient.py", line
291, in create_trust_context\n role_names=roles)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/v3/contrib/trusts.py", line
74, in create\n **kwargs)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 71, in func\n
return f(*args, **new_kwargs)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 327, in
create\n self.key)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 150, in
_create\n return self._post(url, body, response_key, return_raw,
**kwargs)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 164, in _post\n
resp, body = self.client.post(url, body=body, **kwargs)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 617, in
post\n return self._cs_request(url, \'POST\', **kwargs)\n', ' File
"/usr/lib/python2.7/dist-pac
kages/keystoneclient/httpclient.py", line 603, in _cs_request\n return
self.request(url, method, **kwargs)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 578, in
request\n resp = super(HTTPClient, self).request(url, method, **kwargs)\n',
' File "/usr/lib/python2.7/dist-packages/keystoneclient/baseclient.py", line
21, in request\n return self.session.request(url, method, **kwargs)\n', '
File "/usr/lib/python2.7/dist-packages/keystoneclient/utils.py", line 318, in
inner\n return func(*args, **kwargs)\n', ' File
"/usr/lib/python2.7/dist-packages/keystoneclient/session.py", line 339, in
request\n raise exceptions.from_response(resp, method, url)\n', "BadRequest:
Invalid input for field 'trustor_user_id'. The value is 'marcus.klein'. (HTTP
400)\n"]
For my setup I solved the problem by changing
keystone/common/validation/parameter_types.py to
id_string = {
'type': 'string',
'minLength': 1,
'maxLength': 64,
# TODO(lbragstad): Find a way to make this configurable such that the end
# user chooses how much control they want over id_strings with a regex
'pattern': '^[a-zA-Z0-9-\.]+$'
}
See the additional "\." in the character list for the pattern.
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1407661/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp