diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 04cc20bfb1460a4194025b515c80f2a2079db4d8..573dae9fb8dfcc81f8679348bd08696800d6ea4b 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -39,6 +39,7 @@ import OpenSSL import socket import tempfile import shutil +import operator from ganeti import ssh from ganeti import utils @@ -545,9 +546,11 @@ class _QueryBase: """ if fields is None: - # Client requests all fields - fdefs = query.GetAllFields(cls.FIELDS.values()) + # Client requests all fields, sort by name + fdefs = sorted(query.GetAllFields(cls.FIELDS.values()), + key=operator.attrgetter("name")) else: + # Keep order as requested by client fdefs = query.Query(cls.FIELDS, fields).GetFields() return objects.QueryFieldsResponse(fields=fdefs).ToDict()