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