diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-07-22 09:11:42 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-07-22 09:11:42 +0000 |
| commit | 831301e5d6caaab06c8dcc7a5a6a0c21d033caa9 (patch) | |
| tree | 7915ba196826a0078e68a60b25e13d9290dd96d8 /openstackclient/compute | |
| parent | d84393999a9136c821f0b7804f56f9a730cc94c9 (diff) | |
| parent | b0c317ebdd5e5f2626ce2fbd495149336fe5df7e (diff) | |
| download | python-openstackclient-831301e5d6caaab06c8dcc7a5a6a0c21d033caa9.tar.gz | |
Merge "Add Support for showing flavor access list"
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/flavor.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/flavor.py b/openstackclient/compute/v2/flavor.py index 000df598..b3f09ce5 100644 --- a/openstackclient/compute/v2/flavor.py +++ b/openstackclient/compute/v2/flavor.py @@ -380,7 +380,27 @@ class ShowFlavor(command.ShowOne): def take_action(self, parsed_args): compute_client = self.app.client_manager.compute resource_flavor = _find_flavor(compute_client, parsed_args.flavor) + + access_projects = None + # get access projects list of this flavor + if not resource_flavor.is_public: + try: + flavor_access = compute_client.flavor_access.list( + flavor=resource_flavor.id) + projects = [utils.get_field(access, 'tenant_id') + for access in flavor_access] + # TODO(Huanxuan Ao): This format case can be removed after + # patch https://review.openstack.org/#/c/330223/ merged. + access_projects = utils.format_list(projects) + except Exception as e: + msg = _("Failed to get access projects list " + "for flavor '%(flavor)s': %(e)s") + LOG.error(msg % {'flavor': parsed_args.flavor, 'e': e}) + flavor = resource_flavor._info.copy() + flavor.update({ + 'access_project_ids': access_projects + }) flavor.pop("links", None) flavor['properties'] = utils.format_dict(resource_flavor.get_keys()) |
