summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-06 17:02:42 +0000
committerGerrit Code Review <review@openstack.org>2014-09-06 17:02:42 +0000
commit34c8bdaf35f02d702ce44af02a7f81d6b2b86b73 (patch)
tree81e25f230438cab66c07cb8199b1174afc4b4be0 /openstackclient
parent8cfc8529be1f72ac21ba636bfb7d440229ea509a (diff)
parente19216e2824c04870f9fe44ab5b864814538694b (diff)
downloadpython-openstackclient-34c8bdaf35f02d702ce44af02a7f81d6b2b86b73.tar.gz
Merge "Fix security group list for non-admin"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/security_group.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/openstackclient/compute/v2/security_group.py b/openstackclient/compute/v2/security_group.py
index 0ba55c98..cd330857 100644
--- a/openstackclient/compute/v2/security_group.py
+++ b/openstackclient/compute/v2/security_group.py
@@ -23,6 +23,7 @@ from cliff import command
from cliff import lister
from cliff import show
+from keystoneclient.openstack.common.apiclient import exceptions as ksc_exc
from novaclient.v1_1 import security_group_rules
from openstackclient.common import parseractions
from openstackclient.common import utils
@@ -150,10 +151,15 @@ class ListSecurityGroup(lister.Lister):
search = {'all_tenants': parsed_args.all_projects}
data = compute_client.security_groups.list(search_opts=search)
- projects = self.app.client_manager.identity.projects.list()
project_hash = {}
- for project in projects:
- project_hash[project.id] = project
+ try:
+ projects = self.app.client_manager.identity.projects.list()
+ except ksc_exc.Forbidden:
+ # This fails when the user is not an admin, just move along
+ pass
+ else:
+ for project in projects:
+ project_hash[project.id] = project
return (column_headers,
(utils.get_item_properties(