An error in function get_user_unique_id_and_display_name()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Medium
|
Vishakha Agarwal |
Bug Description
Firstly, see the code of function get_user_
# keystone/
def get_user_
user = mapped_
user_id = user.get('id')
user_name = user.get('name') or request.remote_user
if not any([user_id, user_name]):
msg = _("Could not map user while setting ephemeral user identity. "
raise exception.
elif not user_name:
elif not user_id:
user_id = user_name
user['id'] = parse.quote(
return (user['id'], user['name'])
There is an error inside above function.
If user.get('name') is None, but request.remote_user is not None, e.g. request.remote_user is "fed_user", then user_name will be "fed_user".
So, the execution path will not go into "elif not user_name". So, for last line "return (user['id'], user['name'])", user['name'] will raise KeyError exception.
summary: |
- A logic error in function get_user_unique_id_and_display_name() + An error in function get_user_unique_id_and_display_name() |
Changed in keystone: | |
status: | New → Confirmed |
Changed in keystone: | |
assignee: | nobody → Lei Lei (leilei) |
Changed in keystone: | |
importance: | Undecided → Medium |
Changed in keystone: | |
assignee: | nobody → Rajat Sharma (tajar29) |
Changed in keystone: | |
assignee: | Rajat Sharma (tajar29) → Vishakha Agarwal (vishakha.agarwal) |
Changed in keystone: | |
milestone: | none → rocky-3 |
Thanks for the bug report. Do you have inputs or steps to recreate this by interacting with keystone?