summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openstackclient/identity/v3/trust.py12
-rw-r--r--releasenotes/notes/bug-1658582-80a76f6b0af0ca12.yaml6
2 files changed, 14 insertions, 4 deletions
diff --git a/openstackclient/identity/v3/trust.py b/openstackclient/identity/v3/trust.py
index 04ee4dce..52daeb4d 100644
--- a/openstackclient/identity/v3/trust.py
+++ b/openstackclient/identity/v3/trust.py
@@ -16,6 +16,7 @@
import datetime
import logging
+from keystoneclient import exceptions as identity_exc
from osc_lib.command import command
from osc_lib import exceptions
from osc_lib import utils
@@ -105,10 +106,13 @@ class CreateTrust(command.ShowOne):
role_names = []
for role in parsed_args.role:
- role_name = utils.find_resource(
- identity_client.roles,
- role,
- ).name
+ try:
+ role_name = utils.find_resource(
+ identity_client.roles,
+ role,
+ ).name
+ except identity_exc.Forbidden:
+ role_name = role
role_names.append(role_name)
expires_at = None
diff --git a/releasenotes/notes/bug-1658582-80a76f6b0af0ca12.yaml b/releasenotes/notes/bug-1658582-80a76f6b0af0ca12.yaml
new file mode 100644
index 00000000..ee8b25c5
--- /dev/null
+++ b/releasenotes/notes/bug-1658582-80a76f6b0af0ca12.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+ - |
+ Correctly handle non-admin in ``create trust`` command when looking
+ up role names.
+ [Bug `1658582 <https://bugs.launchpad.net/python-openstackclient/+bug/1658582>`_]