From be8aecab259afb5591869ecc52a6b28b2060f01c Mon Sep 17 00:00:00 2001 From: Stephen Shirley <diamond@google.com> Date: Mon, 31 Jan 2011 15:19:48 +0100 Subject: [PATCH] cluster-merge should refuse to merge own cluster Also fix type of Merger.cluster_name from list to string. This would have triggered an error in sshRunner if cluster keys were in use. Signed-off-by: Stephen Shirley <diamond@google.com> Reviewed-by: Guido Trotter <ultrotter@google.com> --- tools/cluster-merge | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/cluster-merge b/tools/cluster-merge index fbb2b6871..5b6d0b650 100755 --- a/tools/cluster-merge +++ b/tools/cluster-merge @@ -102,7 +102,7 @@ class Merger(object): self.clusters = clusters self.pause_period = pause_period self.work_dir = tempfile.mkdtemp(suffix="cluster-merger") - self.cluster_name = cli.GetClient().QueryConfigValues(["cluster_name"]) + (self.cluster_name, ) = cli.GetClient().QueryConfigValues(["cluster_name"]) self.ssh_runner = ssh.SshRunner(self.cluster_name) def Setup(self): @@ -116,6 +116,10 @@ class Merger(object): """ (remote_path, _, _) = ssh.GetUserFiles("root") + if self.cluster_name in self.clusters: + raise errors.CommandError("Cannot merge cluster %s with itself" % + self.cluster_name) + # Fetch remotes private key for cluster in self.clusters: result = self._RunCmd(cluster, "cat %s" % remote_path, batch=False, -- GitLab