Modify the displayed format for gnt-os diagnose
authorGuido Trotter <ultrotter@google.com>
Thu, 1 Nov 2007 17:46:48 +0000 (17:46 +0000)
committerGuido Trotter <ultrotter@google.com>
Thu, 1 Nov 2007 17:46:48 +0000 (17:46 +0000)
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

index 5de43d6..1d1b522 100755 (executable)
@@ -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)