From 41a776da3fa54662f16a2876ccf00f23f2e63843 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Thu, 20 Nov 2008 06:19:19 +0000 Subject: [PATCH] Add more disk/nic listing options in gnt-instance This adds some more listing cases (useful for scripting/rapi): - disk.sizes for a list of all sizes - nic.(ips|macs|bridges) Reviewed-by: imsnah --- lib/cmdlib.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index ee7af81ea..f5e2b960e 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -2720,7 +2720,9 @@ class LUQueryInstances(NoHooksLU): "sda_size", "sdb_size", "vcpus", "tags", "network_port", "beparams", "(disk).(size)/([0-9]+)", + "(disk).(sizes)", "(nic).(mac|ip|bridge)/([0-9]+)", + "(nic).(macs|ips|bridges)", "(disk|nic).(count)", "serial_no", "hypervisor", "hvparams",] + ["hv/%s" % name @@ -2885,6 +2887,8 @@ class LUQueryInstances(NoHooksLU): if st_groups and st_groups[0] == "disk": if st_groups[1] == "count": val = len(instance.disks) + elif st_groups[1] == "sizes": + val = [disk.size for disk in instance.disks] elif st_groups[1] == "size": disk_idx = int(st_groups[2]) if disk_idx >= len(instance.disks): @@ -2896,6 +2900,12 @@ class LUQueryInstances(NoHooksLU): elif st_groups[0] == "nic": if st_groups[1] == "count": val = len(instance.nics) + elif st_groups[1] == "macs": + val = [nic.mac for nic in instance.nics] + elif st_groups[1] == "ips": + val = [nic.ip for nic in instance.nics] + elif st_groups[1] == "bridges": + val = [nic.bridge for nic in instance.nics] else: # index-based item nic_idx = int(st_groups[2]) -- GitLab