X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/ce73521574984c3395835e03469a681ab7612e7d..4040a7847ecaa9a163a2132c52831fbd38dc92de:/scripts/gnt-cluster diff --git a/scripts/gnt-cluster b/scripts/gnt-cluster index 1c9134b..09c1eb2 100755 --- a/scripts/gnt-cluster +++ b/scripts/gnt-cluster @@ -177,6 +177,21 @@ def RenameCluster(opts, args): return 0 +def RedistributeConfig(opts, args): + """Forces push of the cluster configuration. + + @param opts: the command line options selected by the user + @type args: list + @param args: empty list + @rtype: int + @return: the desired exit code + + """ + op = opcodes.OpRedistributeConf() + SubmitOrSend(op, opts) + return 0 + + def ShowClusterVersion(opts, args): """Write version of ganeti software to the standard output. @@ -273,8 +288,8 @@ def ClusterCopyFile(opts, args): cluster_name = cl.QueryConfigValues(["cluster_name"])[0] - op = opcodes.OpQueryNodes(output_fields=["name"], names=opts.nodes) - results = [row[0] for row in SubmitOpCode(op, cl=cl) if row[0] != myname] + results = GetOnlineNodes(nodes=opts.nodes, cl=cl) + results = [name for name in results if name != myname] srun = ssh.SshRunner(cluster_name=cluster_name) for node in results: @@ -297,8 +312,8 @@ def RunClusterCommand(opts, args): cl = GetClient() command = " ".join(args) - op = opcodes.OpQueryNodes(output_fields=["name"], names=opts.nodes) - nodes = [row[0] for row in SubmitOpCode(op, cl=cl)] + + nodes = GetOnlineNodes(nodes=opts.nodes, cl=cl) cluster_name, master_node = cl.QueryConfigValues(["cluster_name", "master_node"]) @@ -589,6 +604,10 @@ commands = { 'rename': (RenameCluster, ARGS_ONE, [DEBUG_OPT, FORCE_OPT], "", "Renames the cluster"), + 'redist-conf': (RedistributeConfig, ARGS_NONE, [DEBUG_OPT, SUBMIT_OPT], + "", + "Forces a push of the configuration file and ssconf files" + " to the nodes in the cluster"), 'verify': (VerifyCluster, ARGS_NONE, [DEBUG_OPT, make_option("--no-nplus1-mem", dest="skip_nplusone_mem", help="Skip N+1 memory redundancy tests",