commit: df8b25b39d422fd8152e6113c1443835d5aee091
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 16 14:57:34 2021 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sat Oct 16 14:57:34 2021 +0000
URL:
https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=df8b25b3
Set the workers in worker_data in master.cfg
Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>
buildbot_gentoo_ci/config/builders.py | 21 +++++++---------
buildbot_gentoo_ci/config/workers.py | 45 +++++++++++++++++++++++++++++------
2 files changed, 46 insertions(+), 20 deletions(-)
diff --git a/buildbot_gentoo_ci/config/builders.py
b/buildbot_gentoo_ci/config/builders.py
index c28d016..ca7fc73 100644
--- a/buildbot_gentoo_ci/config/builders.py
+++ b/buildbot_gentoo_ci/config/builders.py
@@ -5,16 +5,7 @@ from twisted.internet import defer
from buildbot.plugins import util
from buildbot_gentoo_ci.config import buildfactorys
-
-# FIXME: get LocalWorkers and BuildWorkers from db or file
-LocalWorkers = []
-LocalWorkers.append('updatedb_1')
-LocalWorkers.append('updatedb_2')
-LocalWorkers.append('updatedb_3')
-LocalWorkers.append('updatedb_4')
-
-BuildWorkers = []
-BuildWorkers.append('a89c2c1a-46e0-4ded-81dd-c51afeb7fcfd')
+from buildbot_gentoo_ci.config.workers import gentoo_ci_workers
@defer.inlineCallbacks
def CanWorkerBuildProject(builder, wfb, request):
@@ -29,10 +20,14 @@ def CanWorkerBuildProject(builder, wfb, request):
print('no worker')
return False
-def gentoo_builders(b=[]):
+def gentoo_builders(worker_data):
+ b = []
+ g_ci_w = gentoo_ci_workers(worker_data)
+ LocalWorkers = g_ci_w.getLocalWorkersUuid()
+ BuildWorkers = g_ci_w.getBuildWorkersUuid()
b.append(util.BuilderConfig(
name='update_db_check',
- workername='updatedb_1',
+ workername=LocalWorkers[0],
workerbuilddir='builds',
collapseRequests=False,
factory=buildfactorys.update_db_check()
@@ -40,7 +35,7 @@ def gentoo_builders(b=[]):
)
b.append(util.BuilderConfig(
name='update_repo_check',
- workername='updatedb_2',
+ workername=LocalWorkers[1],
workerbuilddir='builds',
collapseRequests=True,
factory=buildfactorys.update_repo_check()
diff --git a/buildbot_gentoo_ci/config/workers.py
b/buildbot_gentoo_ci/config/workers.py
index 6141d89..d9e7061 100644
--- a/buildbot_gentoo_ci/config/workers.py
+++ b/buildbot_gentoo_ci/config/workers.py
@@ -3,11 +3,42 @@
from buildbot.plugins import worker
-def gentoo_workers(w=[]):
- # FIXME: Get workers from db
- w.append(worker.LocalWorker('updatedb_1'))
- w.append(worker.LocalWorker('updatedb_2'))
- w.append(worker.LocalWorker('updatedb_3'))
- w.append(worker.LocalWorker('updatedb_4'))
- w.append(worker.Worker('bot-test', 'test1234'))
+class gentoo_ci_workers():
+ def __init__(self, worker_data, **kwargs):
+ self.worker_data = worker_data
+
+ def getLocalWorkersUuid(self):
+ local_worker = []
+ for worker in self.worker_data:
+ if worker['type'] == 'local' and worker['enable'] is True:
+ local_worker.append(worker['uuid'])
+ print(local_worker)
+ return local_worker
+
+ def getBuildWorkersUuid(self):
+ build_worker = []
+ for worker in self.worker_data:
+ if worker['type'] != 'local' and worker['enable'] is True:
+ build_worker.append(worker['uuid'])
+ print(build_worker)
+ return build_worker
+
+ def getBuildWorkersAllData(self):
+ build_worker = []
+ for worker in self.worker_data:
+ if worker['type'] != 'local' and worker['enable'] is True:
+ build_worker.append(worker)
+ print(build_worker)
+ return build_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()
+ 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']))
return w