diff --git a/lib/cmdlib.py b/lib/cmdlib.py index c601c441e4233b0766cf2c757069b4c806e8ebaa..099def19699a42a3ed30ab21c1d14c887e7f5fb7 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -1862,7 +1862,9 @@ class LUAddNode(LogicalUnit): # Distribute updated /etc/hosts and known_hosts to all nodes, # including the node just added myself = self.cfg.GetNodeInfo(self.sstore.GetMasterNode()) - dist_nodes = self.cfg.GetNodeList() + [node] + dist_nodes = self.cfg.GetNodeList() + if not self.op.readd: + dist_nodes.append(node) if myself.name in dist_nodes: dist_nodes.remove(myself.name) diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py index 47db0b79006901abb4297765125833d2c6504276..4d0ac6b32b1de4600965efa741a41623e809925f 100755 --- a/qa/ganeti-qa.py +++ b/qa/ganeti-qa.py @@ -258,14 +258,19 @@ def main(): if qa_config.TestEnabled('tags'): RunTest(qa_tags.TestClusterTags) + if qa_config.TestEnabled('node-readd'): + master = qa_config.GetMasterNode() + pnode = qa_config.AcquireNode(exclude=master) + try: + RunTest(qa_node.TestNodeReadd, pnode) + finally: + qa_config.ReleaseNode(pnode) + pnode = qa_config.AcquireNode() try: if qa_config.TestEnabled('tags'): RunTest(qa_tags.TestNodeTags, pnode) - if qa_config.TestEnabled('node-readd'): - RunTest(qa_node.TestNodeReadd, pnode) - if qa_config.TestEnabled('instance-add-plain-disk'): instance = RunTest(qa_instance.TestInstanceAddWithPlainDisk, pnode) RunCommonInstanceTests(instance) diff --git a/qa/qa_node.py b/qa/qa_node.py index 20840bde1c859a1accf13909d788579df5da481a..f337734e5f5ddfcd3388d53a33d5e674dfef42b9 100644 --- a/qa/qa_node.py +++ b/qa/qa_node.py @@ -35,7 +35,7 @@ def _NodeAdd(node, readd=False): if not readd and node.get('_added', False): raise qa_error.Error("Node %s already in cluster" % node['primary']) elif readd and not node.get('_added', False): - raise qa_error.Error("Node not yet %s in cluster" % node['primary']) + raise qa_error.Error("Node %s not yet in cluster" % node['primary']) cmd = ['gnt-node', 'add'] if node.get('secondary', None):