diff --git a/tools/cluster-merge b/tools/cluster-merge index fbb2b68713f485f05b7d5bfffb4bbf6ad9916b36..5b6d0b6506ddcc23841bb15b3275a0bd840249d2 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,