<div dir="ltr"><div dir="ltr">On Thu, Nov 14, 2019 at 7:31 AM Sean Mooney <<a href="mailto:smooney@redhat.com">smooney@redhat.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 2019-11-13 at 23:07 +0000, PARSONS, CLIFF wrote:<br>
> Hello everyone!<br>
> <br>
> My organization has a need to make the user name/ID retrieval from Heat template to be case insensitive.  For example:<br>
> suppose we already have a user in keystone, "xyz123".  Then we have a client that creates a heat stack containing a<br>
> UserRoleAssignment resource, in which the user was specified as "XYZ123".  The user would not be found in the Keystone<br>
> database (due to Keystone user IDs being case sensitive) and the role assignment would not occur.<br>
> <br>
> Either Keystone could be changed so that its users are treated case insensitive, or we could make the change to heat<br>
> (Heat KeystoneClientPlugin class) like in <a href="https://review.opendev.org/#/c/694117/" rel="noreferrer" target="_blank">https://review.opendev.org/#/c/694117/</a> so that it converts to lower case<br>
> before querying keystone.<br>
i honestly dont think we shoudl force everyone to use case insensitive user names so i dont think converting to lower<br>
case is valid. however it might we worth exploring if you could change the encoding of the database so that it uses the<br>
case insensitive by using the utf8_general_ci encodeing so that all db opertion are case insensitive on the user tabel.<br>
>  Can I get some thoughts on this? Would something like this be acceptable at all? Would we need to make it<br>
> configurable, and if we did, would that be acceptable?<br>
i think chaing api behavior based on a config option is an interoperablity probelm<br>
<br>
keystone has to interact with external identity systesm and so assuming all of those will be case inseitive would<br>
proably break someone else who has the opisite requirement.<br>
<br>
i honestly think that people should just use the correct case in the heat template.<br>
if heat is not currently erroring out when the role assignment failts that feels like a heat bug </blockquote><div><br></div><div>There is no heat bug. Heat would fail if the user does not exist and it does not override any service behaviour in the default client plugins. However, heat allows to write your own custom client plugin for keystone (if that's what you want), which overrides the behavior and use it in place of the default plugin. <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">but i would<br>
personlly think its an error if i type my user name with the wrong case and my correct passwourd and was able<br>
to get a keystone token.<br>
> <br>
> Thanks in advance for your thoughts/concerns/suggestions.<br>
> <br>
> Thank you,<br>
> Cliff Parsons<br>
<br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Regards,</div>Rabi Mishra<div><br></div></div></div></div></div></div>