Skip to content

Commit f293027

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Remove tenant round 3 - other commands"
2 parents 0f63f46 + 7d138b9 commit f293027

5 files changed

Lines changed: 37 additions & 14 deletions

File tree

openstackclient/common/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def format_dict(data):
9494
def get_item_properties(item, fields, mixed_case_fields=[], formatters={}):
9595
"""Return a tuple containing the item properties.
9696
97-
:param item: a single item resource (e.g. Server, Tenant, etc)
97+
:param item: a single item resource (e.g. Server, Project, etc)
9898
:param fields: tuple of strings with the desired field names
9999
:param mixed_case_fields: tuple of field names to preserve case
100100
:param formatters: dictionary mapping field names to callables

openstackclient/compute/v2/server.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -451,10 +451,10 @@ def get_parser(self, prog_name):
451451
metavar='<server-name>',
452452
help='regular expression to match instance name (admin only)')
453453
parser.add_argument(
454-
'--all-tenants',
454+
'--all-projects',
455455
action='store_true',
456-
default=bool(int(os.environ.get("ALL_TENANTS", 0))),
457-
help='display information from all tenants (admin only)')
456+
default=bool(int(os.environ.get("ALL_PROJECTS", 0))),
457+
help='Include all projects (admin only)')
458458
parser.add_argument(
459459
'--long',
460460
action='store_true',
@@ -475,7 +475,7 @@ def take_action(self, parsed_args):
475475
'flavor': parsed_args.flavor,
476476
'image': parsed_args.image,
477477
'host': parsed_args.host,
478-
'all_tenants': parsed_args.all_tenants,
478+
'all_tenants': parsed_args.all_projects,
479479
}
480480
self.log.debug('search options: %s', search_opts)
481481

openstackclient/compute/v2/usage.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,15 @@ def get_parser(self, prog_name):
4747

4848
def take_action(self, parsed_args):
4949
self.log.debug("take_action(%s)" % parsed_args)
50+
51+
def _format_project(project):
52+
if not project:
53+
return ""
54+
if project in project_cache.keys():
55+
return project_cache[project].name
56+
else:
57+
return project
58+
5059
compute_client = self.app.client_manager.compute
5160
columns = (
5261
"tenant_id",
@@ -55,7 +64,7 @@ def take_action(self, parsed_args):
5564
"total_local_gb_usage"
5665
)
5766
column_headers = (
58-
"Project ID",
67+
"Project",
5968
"RAM MB-Hours",
6069
"CPU Hours",
6170
"Disk GB-Hours"
@@ -76,6 +85,15 @@ def take_action(self, parsed_args):
7685

7786
usage_list = compute_client.usage.list(start, end)
7887

88+
# Cache the project list
89+
project_cache = {}
90+
try:
91+
for p in self.app.client_manager.identity.tenants.list():
92+
project_cache[p.id] = p
93+
except Exception:
94+
# Just forget it if there's any trouble
95+
pass
96+
7997
if len(usage_list) > 0:
8098
print("Usage from %s to %s:" % (start.strftime(dateformat),
8199
end.strftime(dateformat)))
@@ -84,6 +102,7 @@ def take_action(self, parsed_args):
84102
(utils.get_item_properties(
85103
s, columns,
86104
formatters={
105+
'tenant_id': _format_project,
87106
'total_memory_mb_usage': lambda x: float("%.2f" % x),
88107
'total_vcpus_usage': lambda x: float("%.2f" % x),
89108
'total_local_gb_usage': lambda x: float("%.2f" % x),

openstackclient/image/v1/image.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ def get_parser(self, prog_name):
7171
)
7272
parser.add_argument(
7373
"--owner",
74-
metavar="<tenant>",
75-
help="Owner of the image",
74+
metavar="<project>",
75+
help="Image owner (project name or ID)",
7676
)
7777
parser.add_argument(
7878
"--size",
@@ -296,8 +296,8 @@ def get_parser(self, prog_name):
296296
)
297297
parser.add_argument(
298298
"--owner",
299-
metavar="<tenant>",
300-
help="Owner of the image",
299+
metavar="<project>",
300+
help="Image owner (project name or ID)",
301301
)
302302
parser.add_argument(
303303
"--min-disk",

openstackclient/volume/v1/volume.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,10 @@ def get_parser(self, prog_name):
179179
help='Filter results by name',
180180
)
181181
parser.add_argument(
182-
'--all-tenants',
182+
'--all-projects',
183183
action='store_true',
184184
default=False,
185-
help='Display information from all tenants (admin only)',
185+
help='Include all projects (admin only)',
186186
)
187187
parser.add_argument(
188188
'--long',
@@ -232,7 +232,7 @@ def take_action(self, parsed_args):
232232
'Attached',
233233
)
234234
search_opts = {
235-
'all_tenants': parsed_args.all_tenants,
235+
'all_tenants': parsed_args.all_projects,
236236
'display_name': parsed_args.name,
237237
'status': parsed_args.status,
238238
}
@@ -322,7 +322,11 @@ def take_action(self, parsed_args):
322322
volume._info.update(
323323
{'properties': utils.format_dict(volume._info.pop('metadata'))}
324324
)
325-
325+
if 'os-vol-tenant-attr:tenant_id' in volume._info:
326+
volume._info.update(
327+
{'project_id': volume._info.pop(
328+
'os-vol-tenant-attr:tenant_id')}
329+
)
326330
return zip(*sorted(six.iteritems(volume._info)))
327331

328332

0 commit comments

Comments
 (0)