From 801bccbad788f2788b4d8b9ba71f5a72fe4bf3f1 Mon Sep 17 00:00:00 2001 From: Bernardo Dal Seno <bdalseno@google.com> Date: Thu, 28 Mar 2013 12:45:06 +0100 Subject: [PATCH] gnt-group info uses a revised format The code is more modular, the output is more similar to "gnt-cluster info" and is YAML-compliant. Signed-off-by: Bernardo Dal Seno <bdalseno@google.com> Reviewed-by: Helga Velroyen <helgav@google.com> --- lib/client/gnt_group.py | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/lib/client/gnt_group.py b/lib/client/gnt_group.py index 8749fcd39..2d11618a2 100644 --- a/lib/client/gnt_group.py +++ b/lib/client/gnt_group.py @@ -1,7 +1,7 @@ # # -# Copyright (C) 2010, 2011, 2012 Google Inc. +# Copyright (C) 2010, 2011, 2012, 2013 Google Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,7 +29,6 @@ from ganeti import constants from ganeti import opcodes from ganeti import utils from ganeti import compat -from cStringIO import StringIO #: default list of fields for L{ListGroups} @@ -283,16 +282,15 @@ def EvacuateGroup(opts, args): return rcode -def _FormatDict(custom, actual, level=2): - """Helper function to L{cli.FormatParameterDict}. - - @param custom: The customized dict - @param actual: The fully filled dict - - """ - buf = StringIO() - FormatParameterDict(buf, custom, actual, level=level) - return buf.getvalue().rstrip("\n") +def _FormatGroupInfo(group): + (name, ndparams, custom_ndparams, diskparams, custom_diskparams, + ipolicy, custom_ipolicy) = group + return [ + ("Node group", name), + ("Node parameters", FormatParamsDictInfo(custom_ndparams, ndparams)), + ("Disk parameters", FormatParamsDictInfo(custom_diskparams, diskparams)), + ("Instance policy", FormatPolicyInfo(custom_ipolicy, ipolicy, False)), + ] def GroupInfo(_, args): @@ -307,17 +305,9 @@ def GroupInfo(_, args): result = cl.QueryGroups(names=args, fields=selected_fields, use_locking=False) - for (name, - ndparams, custom_ndparams, - diskparams, custom_diskparams, - ipolicy, custom_ipolicy) in result: - ToStdout("Node group: %s" % name) - ToStdout(" Node parameters:") - ToStdout(_FormatDict(custom_ndparams, ndparams)) - ToStdout(" Disk parameters:") - ToStdout(_FormatDict(custom_diskparams, diskparams)) - ToStdout(" Instance policy:") - ToStdout(_FormatDict(custom_ipolicy, ipolicy)) + PrintGenericInfo([ + _FormatGroupInfo(group) for group in result + ]) commands = { -- GitLab