diff --git a/lib/cmdlib.py b/lib/cmdlib.py index dba7038ecec639be43dda61ba1cd316f70e40b1c..bf273dc0a5074909f13f8897ac34ea876f93af59 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -5151,7 +5151,8 @@ class LUQueryInstances(NoHooksLU): r"(nic)\.(bridge)/([0-9]+)", r"(nic)\.(macs|ips|modes|links|bridges)", r"(disk|nic)\.(count)", - "hvparams", + "hvparams", "custom_hvparams", + "custom_beparams", "custom_nicparams", ] + _SIMPLE_FIELDS + ["hv/%s" % name for name in constants.HVS_PARAMETERS @@ -5329,6 +5330,8 @@ class LUQueryInstances(NoHooksLU): val = instance.nics[0].mac else: val = None + elif field == "custom_nicparams": + val = [nic.nicparams for nic in instance.nics] elif field == "sda_size" or field == "sdb_size": idx = ord(field[2]) - ord('a') try: @@ -5340,12 +5343,16 @@ class LUQueryInstances(NoHooksLU): val = _ComputeDiskSize(instance.disk_template, disk_sizes) elif field == "tags": val = list(instance.GetTags()) + elif field == "custom_hvparams": + val = instance.hvparams # not filled! elif field == "hvparams": val = i_hv elif (field.startswith(HVPREFIX) and field[len(HVPREFIX):] in constants.HVS_PARAMETERS and field[len(HVPREFIX):] not in constants.HVC_GLOBALS): val = i_hv.get(field[len(HVPREFIX):], None) + elif field == "custom_beparams": + val = instance.beparams elif field == "beparams": val = i_be elif (field.startswith(BEPREFIX) and diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py index 0d8367ae45a8765fc7f4723c8bac8156da89ae51..f15d94d7b0649c3362a7721caed524e253c79969 100644 --- a/lib/rapi/rlib2.py +++ b/lib/rapi/rlib2.py @@ -59,6 +59,7 @@ I_FIELDS = ["name", "admin_state", "os", "disk.sizes", "disk_usage", "beparams", "hvparams", "oper_state", "oper_ram", "oper_vcpus", "status", + "custom_hvparams", "custom_beparams", "custom_nicparams", ] + _COMMON_FIELDS N_FIELDS = ["name", "offline", "master_candidate", "drained",