From cc706abc57d97c02e9cf128dbf67ca605b295551 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Wed, 4 Jul 2012 17:41:01 +0200 Subject: [PATCH] Fix redistribution of files w.r.t. offline nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, _RedistributeAncillaryFiles computes two lists: the list of online nodes (for all files redistribution), and the list of vm_capable nodes, for hypervisor-specific files. However, the vm_capable list includes offline nodes too, leading to warning messages: WARNING: Copy of file /etc/xen/xend-config.sxp to node node13.example.com failed: Node is marked offline We fix this by trivially intersecting the vm_capable list with the online one. Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Bernardo Dal Seno <bdalseno@google.com> Reviewed-by: RenΓ© Nussbaumer <rn@google.com> --- lib/cmdlib.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 785e27778..fcc775474 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -4366,7 +4366,8 @@ def _RedistributeAncillaryFiles(lu, additional_nodes=None, additional_vm=True): master_info = lu.cfg.GetNodeInfo(lu.cfg.GetMasterNode()) online_nodes = lu.cfg.GetOnlineNodeList() - vm_nodes = lu.cfg.GetVmCapableNodeList() + online_set = frozenset(online_nodes) + vm_nodes = list(online_set.intersection(lu.cfg.GetVmCapableNodeList())) if additional_nodes is not None: online_nodes.extend(additional_nodes) -- GitLab