diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 1a1dcc857237d5eec50694099daa0a86597af131..e8379d64a26de0ba1be2df915d735df6f713767c 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -2091,7 +2091,7 @@ class LUQueryInstances(NoHooksLU): """Logical unit for querying instances. """ - _OP_REQP = ["output_fields"] + _OP_REQP = ["output_fields", "names"] def CheckPrereq(self): """Check prerequisites. @@ -2107,11 +2107,13 @@ class LUQueryInstances(NoHooksLU): dynamic=self.dynamic_fields, selected=self.op.output_fields) + self.wanted = _GetWantedInstances(self, self.op.names) + def Exec(self, feedback_fn): """Computes the list of nodes and their attributes. """ - instance_names = utils.NiceSort(self.cfg.GetInstanceList()) + instance_names = self.wanted instance_list = [self.cfg.GetInstanceInfo(iname) for iname in instance_names] diff --git a/lib/opcodes.py b/lib/opcodes.py index b75600c8b52b4e06512968021e0028ddc93fab47..c306ec39f3e9d5edfe9c030f7bfc4147b4661347 100644 --- a/lib/opcodes.py +++ b/lib/opcodes.py @@ -202,7 +202,7 @@ class OpDeactivateInstanceDisks(OpCode): class OpQueryInstances(OpCode): """Compute the list of instances.""" OP_ID = "OP_INSTANCE_QUERY" - __slots__ = ["output_fields"] + __slots__ = ["output_fields", "names"] class OpQueryInstanceData(OpCode): diff --git a/scripts/gnt-instance b/scripts/gnt-instance index bfbf59f7b71eafd46e899c2443e149a26d5de8f2..a408d74e320da2676b5f57c75f745bee7d787e6e 100755 --- a/scripts/gnt-instance +++ b/scripts/gnt-instance @@ -41,7 +41,7 @@ def ListInstances(opts, args): else: selected_fields = opts.output.split(",") - op = opcodes.OpQueryInstances(output_fields=selected_fields) + op = opcodes.OpQueryInstances(output_fields=selected_fields, names=[]) output = SubmitOpCode(op) if not opts.no_headers: