From 107b0ccbda291d89e909a80a2ff7055dd1dab65a Mon Sep 17 00:00:00 2001
From: Guido Trotter <ultrotter@google.com>
Date: Thu, 1 Nov 2007 17:46:48 +0000
Subject: [PATCH] Modify the displayed format for gnt-os diagnose

Get rid of the tabulated form and create a simplier indented structure.
Now a valid OS looks something like:

OS: foo [global status: partial valid]
  Node: gsdtest4.euw.corp.google.com, status: valid (path: /usr/local/lib/ganeti/os/foo)
  Node: gsdtest5.euw.corp.google.com, status: valid (path: /usr/local/lib/ganeti/os/foo)
    [hidden] path: /usr/local/lib/ganeti/os2/foo, status: 'ganeti_api_version' file not found (ENOENT)
  Node: gsdtest3.euw.corp.google.com, status: 'ganeti_api_version' file not found (ENOENT) (path: /usr/local/lib/ganeti/os/foo)

Reviewed-By: imsnah
---
 scripts/gnt-os | 23 +++++------------------
 1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/scripts/gnt-os b/scripts/gnt-os
index 5de43d6d0..1d1b5223b 100755
--- a/scripts/gnt-os
+++ b/scripts/gnt-os
@@ -174,18 +174,6 @@ def DiagnoseOS(opts, args):
   node_data = result
   all_os = _DiagnoseByOS(node_data)
 
-  format = "%-*s %-*s %s"
-
-  max_name = len('Name')
-  if all_os:
-    max_name = max(max_name, max([len(name) for name in all_os]))
-
-  max_node = len('Status/Node')
-  max_node = max(max_node, max([len(name) for name in node_data]))
-
-  logger.ToStdout(format % (max_name, 'Name', max_node, 'Status/Node',
-                            'Details'))
-
   has_bad = False
 
   for os_name in all_os:
@@ -215,19 +203,18 @@ def DiagnoseOS(opts, args):
 
     def _OutputNodeHiddenOSStatus(dobj_list):
       for dobj in dobj_list:
-        logger.ToStdout(format % (max_name, "", max_node, "",
-                                  "[hidden] %s" %
-                                  _DiagnoseOSStatus(dobj)))
+        logger.ToStdout("    [hidden] path: %s, status: %s" % 
+                        (_DiagnoseOSPath(dobj), _DiagnoseOSStatus(dobj)))
 
     def _OutputPerNodeOSStatus(msg_map):
       map_k = utils.NiceSort(msg_map.keys())
       for node_name in map_k:
-        logger.ToStdout(format % (max_name, "", max_node,
-                                  node_name, msg_map[node_name]))
+        logger.ToStdout("  Node: %s, status: %s" % 
+                        (node_name, msg_map[node_name]))
         if node_name in all_os[os_name]:
           _OutputNodeHiddenOSStatus(all_os[os_name][node_name])
 
-    logger.ToStdout(format % (max_name, os_name, max_node, status, ""))
+    logger.ToStdout("OS: %s [global status: %s]" % (os_name, status))
     _OutputPerNodeOSStatus(nodes_valid)
     _OutputPerNodeOSStatus(nodes_bad)
 
-- 
GitLab