diff --git a/tools/burnin b/tools/burnin index 4110c481b79308f24aa86dd4868d650349326586..eed35559cb8364b14ef1ff6fd18b4c9805b42099 100755 --- a/tools/burnin +++ b/tools/burnin @@ -68,6 +68,9 @@ def ParseOptions(): choices=("remote_raid1", "drbd8"), default="remote_raid1", help="Template type for network mirroring (remote_raid1" " or drbd8) [remote_raid1]") + parser.add_option("-n", "--nodes", dest="nodes", default="", + help="Comma separated list of nodes to perform the burnin" + " on (defaults to all nodes)") options, args = parser.parse_args() if len(args) < 1 or options.os is None: @@ -86,8 +89,17 @@ def BurninCluster(opts, args): logger.SetupLogging(debug=True, program="ganeti/burnin") proc = mcpu.Processor(feedback=Feedback) - result = proc.ExecOpCode(opcodes.OpQueryNodes(output_fields=["name"], - names=[])) + if opts.nodes: + names = opts.nodes.split(",") + else: + names = [] + try: + result = proc.ExecOpCode(opcodes.OpQueryNodes(output_fields=["name"], + names=names)) + except errors.GenericError, err: + err_code, msg = cli.FormatError(err) + Feedback(msg) + return err_code nodelist = [data[0] for data in result] Feedback("- Testing global parameters")