diff --git a/lib/cli.py b/lib/cli.py index a800bae8ef9afe15c61e97fb46b74b1354761f5c..6b0283414b46e37f8f58c725361db8eff22a1631 100644 --- a/lib/cli.py +++ b/lib/cli.py @@ -764,6 +764,9 @@ def GenerateTable(headers, fields, separator, data, if unitfields is None: unitfields = [] + numfields = utils.FieldSet(*numfields) + unitfields = utils.FieldSet(*unitfields) + format_fields = [] for field in fields: if headers and field not in headers: @@ -773,7 +776,7 @@ def GenerateTable(headers, fields, separator, data, headers[field] = field if separator is not None: format_fields.append("%s") - elif field in numfields: + elif numfields.Matches(field): format_fields.append("%*s") else: format_fields.append("%-*s") @@ -786,7 +789,7 @@ def GenerateTable(headers, fields, separator, data, for row in data: for idx, val in enumerate(row): - if fields[idx] in unitfields: + if unitfields.Matches(fields[idx]): try: val = int(val) except ValueError: diff --git a/scripts/gnt-instance b/scripts/gnt-instance index 5d268119d43361d37af673d2d858bf8a2af878d7..bfaa4e135c3beb11d925bf84393d3ace3f4b97aa 100755 --- a/scripts/gnt-instance +++ b/scripts/gnt-instance @@ -221,17 +221,19 @@ def ListInstances(opts, args): "be/memory": "Configured_memory", "be/vcpus": "VCPUs", "be/auto_balance": "Auto_balance", + "disk.count": "Disks", + "nic.count": "NICs", } else: headers = None if opts.human_readable: - unitfields = ["be/memory", "oper_ram", "sda_size", "sdb_size"] + unitfields = ["be/memory", "oper_ram", "sd(a|b)_size", "disk.size/.*"] else: unitfields = None - numfields = ["be/memory", "oper_ram", "sda_size", "sdb_size", "be/vcpus", - "serial_no"] + numfields = ["be/memory", "oper_ram", "sd(a|b)_size", "be/vcpus", + "serial_no", "(disk|nic).count", "disk.size/.*"] list_type_fields = ("tags",) # change raw values to nicer strings