commit:     1c1e3c168bc09b5c43978b8880390262d9f6e9bd
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 22 12:31:43 2022 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Fri Apr 22 12:31:43 2022 +0000
URL:        
https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=1c1e3c16

Add support for node workers

Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>

 buildbot_gentoo_ci/config/builders.py | 11 +++++++++++
 buildbot_gentoo_ci/config/workers.py  | 24 ++++++++++++++++++++++--
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/buildbot_gentoo_ci/config/builders.py 
b/buildbot_gentoo_ci/config/builders.py
index ca7fc73..6f3d606 100644
--- a/buildbot_gentoo_ci/config/builders.py
+++ b/buildbot_gentoo_ci/config/builders.py
@@ -25,6 +25,7 @@ def gentoo_builders(worker_data):
     g_ci_w = gentoo_ci_workers(worker_data)
     LocalWorkers = g_ci_w.getLocalWorkersUuid()
     BuildWorkers = g_ci_w.getBuildWorkersUuid()
+    NodeWorkers = g_ci_w.getNodeWorkersUuid()
     b.append(util.BuilderConfig(
         name='update_db_check',
         workername=LocalWorkers[0],
@@ -87,4 +88,14 @@ def gentoo_builders(worker_data):
         factory=buildfactorys.parse_build_log()
         )
     )
+    # For node workers
+    b.append(util.BuilderConfig(
+        name='run_build_stage4_request',
+        workernames=NodeWorkers,
+        #FIXME: support more the one node
+        #canStartBuild=CanWorkerBuildProject,
+        collapseRequests=False,
+        factory=buildfactorys.run_build_stage4_request()
+        )
+    )
     return b

diff --git a/buildbot_gentoo_ci/config/workers.py 
b/buildbot_gentoo_ci/config/workers.py
index d9e7061..fbdc2a9 100644
--- a/buildbot_gentoo_ci/config/workers.py
+++ b/buildbot_gentoo_ci/config/workers.py
@@ -18,7 +18,7 @@ class gentoo_ci_workers():
     def getBuildWorkersUuid(self):
         build_worker = []
         for worker in self.worker_data:
-            if worker['type'] != 'local' and worker['enable'] is True:
+            if (worker['type'] != 'local' and worker['type'] != 'node') and 
worker['enable'] is True:
                 build_worker.append(worker['uuid'])
         print(build_worker)
         return build_worker
@@ -26,19 +26,39 @@ class gentoo_ci_workers():
     def getBuildWorkersAllData(self):
         build_worker = []
         for worker in self.worker_data:
-            if worker['type'] != 'local' and worker['enable'] is True:
+            if (worker['type'] != 'local' and worker['type'] != 'node') and 
worker['enable'] is True:
                 build_worker.append(worker)
         print(build_worker)
         return build_worker
 
+    def getNodeWorkersUuid(self):
+        node_worker = []
+        for worker in self.worker_data:
+            if worker['type'] == 'node' and worker['enable'] is True:
+                node_worker.append(worker['uuid'])
+        print(node_worker)
+        return node_worker
+
+    def getNodedWorkersAllData(self):
+        node_worker = []
+        for worker in self.worker_data:
+            if worker['type'] == 'node' and worker['enable'] is True:
+                node_worker.append(worker)
+        print(node_worker)
+        return node_worker
+
 def gentoo_workers(worker_data):
     w = []
     g_ci_w = gentoo_ci_workers(worker_data)
     LocalWorkers = g_ci_w.getLocalWorkersUuid()
     BuildWorkers = g_ci_w.getBuildWorkersAllData()
+    NodeWorkers = g_ci_w.getNodedWorkersAllData()
     for local_worker in LocalWorkers:
         w.append(worker.LocalWorker(local_worker))
     for build_worker in BuildWorkers:
         if build_worker['type'] == 'default':
             w.append(worker.Worker(build_worker['uuid'], 
build_worker['password']))
+    for node_worker in NodeWorkers:
+        if node_worker['type'] == 'node':
+            w.append(worker.Worker(node_worker['uuid'], 
node_worker['password']))
     return w

Reply via email to