diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2014-08-27 17:19:49 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2014-08-27 17:19:53 -0500 |
| commit | e19216e2824c04870f9fe44ab5b864814538694b (patch) | |
| tree | 68f1d060af66b924adf34c801e0166b63b80b721 /openstackclient/compute | |
| parent | 7a8c9a7a8a69bb520c241d40b8ecaa1deab96355 (diff) | |
| download | python-openstackclient-e19216e2824c04870f9fe44ab5b864814538694b.tar.gz | |
Fix security group list for non-admin
Non-admin users couldn't list security groups due to the project lookup
failure. That shouldn't stop the listing.
Change-Id: I27f6ff4975b35d1de1c852c8d4e830b83c7dec75
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/security_group.py | 12 |
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( |
