summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-01-24 04:16:28 +0000
committerGerrit Code Review <review@openstack.org>2017-01-24 04:16:28 +0000
commitc9de2d67e911bb9a7e83afdba5845f36004206bf (patch)
tree8eb585160ae1fb847befbda598ca43b0b82354e1
parent30ddab2341c109af2f2ee977eab2ead3191d2b2c (diff)
parent5cf77bb672eeb28327cac8bc0a8227c8b7137819 (diff)
downloadpython-openstackclient-c9de2d67e911bb9a7e83afdba5845f36004206bf.tar.gz
Merge "Handle 403 error on creating trust"
-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>`_]