Revision 137161c9 scripts/gnt-instance
b/scripts/gnt-instance | ||
---|---|---|
45 | 45 |
op = opcodes.OpQueryInstances(output_fields=selected_fields) |
46 | 46 |
output = SubmitOpCode(op) |
47 | 47 |
|
48 |
mlens = [0 for name in selected_fields] |
|
48 |
if not opts.no_headers: |
|
49 |
headers = {"name": "Instance", "os": "OS", "pnode": "Primary_node", |
|
50 |
"snodes": "Secondary_Nodes", "admin_state": "Autostart", |
|
51 |
"oper_state": "Status", "admin_ram": "Configured_memory", |
|
52 |
"oper_ram": "Memory", "disk_template": "Disk_template", |
|
53 |
"ip": "IP Address", "mac": "MAC Address", |
|
54 |
"bridge": "Bridge"} |
|
55 |
else: |
|
56 |
headers = None |
|
49 | 57 |
|
50 |
format_fields = [] |
|
51 |
unitformat_fields = ("admin_ram", "oper_ram") |
|
52 |
for field in selected_fields: |
|
53 |
if field in ("admin_ram", "oper_ram"): |
|
54 |
format_fields.append("%*s") |
|
55 |
else: |
|
56 |
format_fields.append("%-*s") |
|
57 |
separator = opts.separator |
|
58 |
if "%" in separator: |
|
59 |
separator = separator.replace("%", "%%") |
|
60 |
format = separator.join(format_fields) |
|
61 |
|
|
62 |
for row in output: |
|
63 |
for idx, val in enumerate(row): |
|
64 |
if opts.human_readable and selected_fields[idx] in unitformat_fields: |
|
65 |
try: |
|
66 |
val = int(val) |
|
67 |
except ValueError: |
|
68 |
pass |
|
69 |
else: |
|
70 |
val = row[idx] = utils.FormatUnit(val) |
|
71 |
mlens[idx] = max(mlens[idx], len(val)) |
|
58 |
if opts.human_readable: |
|
59 |
unitfields = ["admin_ram", "oper_ram"] |
|
60 |
else: |
|
61 |
unitfields = None |
|
72 | 62 |
|
73 |
if not opts.no_headers: |
|
74 |
header_list = {"name": "Instance", "os": "OS", "pnode": "Primary_node", |
|
75 |
"snodes": "Secondary_Nodes", "admin_state": "Autostart", |
|
76 |
"oper_state": "Status", "admin_ram": "Configured_memory", |
|
77 |
"oper_ram": "Memory", "disk_template": "Disk_template", |
|
78 |
"ip": "IP Address", "mac": "MAC Address", |
|
79 |
"bridge": "Bridge"} |
|
80 |
args = [] |
|
81 |
for idx, name in enumerate(selected_fields): |
|
82 |
hdr = header_list[name] |
|
83 |
mlens[idx] = max(mlens[idx], len(hdr)) |
|
84 |
args.append(mlens[idx]) |
|
85 |
args.append(hdr) |
|
86 |
logger.ToStdout(format % tuple(args)) |
|
87 |
|
|
88 |
for line in output: |
|
89 |
args = [] |
|
90 |
for idx in range(len(selected_fields)): |
|
91 |
args.append(mlens[idx]) |
|
92 |
args.append(line[idx]) |
|
93 |
logger.ToStdout(format % tuple(args)) |
|
63 |
numfields = ["admin_ram", "oper_ram"] |
|
64 |
|
|
65 |
OutputTable(separator=opts.separator, headers=headers, |
|
66 |
fields=selected_fields, unitfields=unitfields, |
|
67 |
numfields=numfields, data=output) |
|
94 | 68 |
|
95 | 69 |
return 0 |
96 | 70 |
|
Also available in: Unified diff