From bd92fca1a276b678d7005fa17e93df5b50b25bbd Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Wed, 8 Dec 2010 20:20:41 +0100
Subject: [PATCH] cmdlib: Sort list of fields for QueryFields
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: RenΓ© Nussbaumer <rn@google.com>
---
 lib/cmdlib.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 04cc20bfb..573dae9fb 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()
-- 
GitLab