From 8e00939c66ebc3f93a4ee34412e2ab5b09e95e0b Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Wed, 6 Aug 2008 13:35:38 +0000 Subject: [PATCH] Maintain node list in job queue The code makes sure not to include the master in the list. Reviewed-by: iustinp --- lib/jqueue.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/jqueue.py b/lib/jqueue.py index feaedfb0a..3c2b941b0 100644 --- a/lib/jqueue.py +++ b/lib/jqueue.py @@ -291,7 +291,13 @@ class JobQueue(object): " check in jstore and here") # Get initial list of nodes - self._nodes = self.context.cfg.GetNodeList() + self._nodes = set(self.context.cfg.GetNodeList()) + + # Remove master node + try: + self._nodes.remove(self._my_hostname) + except ValueError: + pass # TODO: Check consistency across nodes @@ -333,9 +339,15 @@ class JobQueue(object): except ValueError: pass + def _WriteAndReplicateFileUnlocked(self, file_name, data): + """Writes a file locally and then replicates it to all nodes. + + """ + utils.WriteFile(file_name, data=data) + failed_nodes = 0 - result = rpc.call_upload_file(nodes, file_name) - for node in nodes: + result = rpc.call_upload_file(self._nodes, file_name) + for node in self._nodes: if not result[node]: failed_nodes += 1 logging.error("Copy of job queue file to node %s failed", node) -- GitLab