Gentoo Archives: gentoo-commits

From: Magnus Granberg <zorry@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/tinderbox-cluster:master commit in: buildbot_gentoo_ci/config/
Date: Sat, 16 Oct 2021 14:57:00
Message-Id: 1634396254.df8b25b39d422fd8152e6113c1443835d5aee091.zorry@gentoo
1 commit: df8b25b39d422fd8152e6113c1443835d5aee091
2 Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
3 AuthorDate: Sat Oct 16 14:57:34 2021 +0000
4 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
5 CommitDate: Sat Oct 16 14:57:34 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=df8b25b3
7
8 Set the workers in worker_data in master.cfg
9
10 Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>
11
12 buildbot_gentoo_ci/config/builders.py | 21 +++++++---------
13 buildbot_gentoo_ci/config/workers.py | 45 +++++++++++++++++++++++++++++------
14 2 files changed, 46 insertions(+), 20 deletions(-)
15
16 diff --git a/buildbot_gentoo_ci/config/builders.py b/buildbot_gentoo_ci/config/builders.py
17 index c28d016..ca7fc73 100644
18 --- a/buildbot_gentoo_ci/config/builders.py
19 +++ b/buildbot_gentoo_ci/config/builders.py
20 @@ -5,16 +5,7 @@ from twisted.internet import defer
21
22 from buildbot.plugins import util
23 from buildbot_gentoo_ci.config import buildfactorys
24 -
25 -# FIXME: get LocalWorkers and BuildWorkers from db or file
26 -LocalWorkers = []
27 -LocalWorkers.append('updatedb_1')
28 -LocalWorkers.append('updatedb_2')
29 -LocalWorkers.append('updatedb_3')
30 -LocalWorkers.append('updatedb_4')
31 -
32 -BuildWorkers = []
33 -BuildWorkers.append('a89c2c1a-46e0-4ded-81dd-c51afeb7fcfd')
34 +from buildbot_gentoo_ci.config.workers import gentoo_ci_workers
35
36 @defer.inlineCallbacks
37 def CanWorkerBuildProject(builder, wfb, request):
38 @@ -29,10 +20,14 @@ def CanWorkerBuildProject(builder, wfb, request):
39 print('no worker')
40 return False
41
42 -def gentoo_builders(b=[]):
43 +def gentoo_builders(worker_data):
44 + b = []
45 + g_ci_w = gentoo_ci_workers(worker_data)
46 + LocalWorkers = g_ci_w.getLocalWorkersUuid()
47 + BuildWorkers = g_ci_w.getBuildWorkersUuid()
48 b.append(util.BuilderConfig(
49 name='update_db_check',
50 - workername='updatedb_1',
51 + workername=LocalWorkers[0],
52 workerbuilddir='builds',
53 collapseRequests=False,
54 factory=buildfactorys.update_db_check()
55 @@ -40,7 +35,7 @@ def gentoo_builders(b=[]):
56 )
57 b.append(util.BuilderConfig(
58 name='update_repo_check',
59 - workername='updatedb_2',
60 + workername=LocalWorkers[1],
61 workerbuilddir='builds',
62 collapseRequests=True,
63 factory=buildfactorys.update_repo_check()
64
65 diff --git a/buildbot_gentoo_ci/config/workers.py b/buildbot_gentoo_ci/config/workers.py
66 index 6141d89..d9e7061 100644
67 --- a/buildbot_gentoo_ci/config/workers.py
68 +++ b/buildbot_gentoo_ci/config/workers.py
69 @@ -3,11 +3,42 @@
70
71 from buildbot.plugins import worker
72
73 -def gentoo_workers(w=[]):
74 - # FIXME: Get workers from db
75 - w.append(worker.LocalWorker('updatedb_1'))
76 - w.append(worker.LocalWorker('updatedb_2'))
77 - w.append(worker.LocalWorker('updatedb_3'))
78 - w.append(worker.LocalWorker('updatedb_4'))
79 - w.append(worker.Worker('bot-test', 'test1234'))
80 +class gentoo_ci_workers():
81 + def __init__(self, worker_data, **kwargs):
82 + self.worker_data = worker_data
83 +
84 + def getLocalWorkersUuid(self):
85 + local_worker = []
86 + for worker in self.worker_data:
87 + if worker['type'] == 'local' and worker['enable'] is True:
88 + local_worker.append(worker['uuid'])
89 + print(local_worker)
90 + return local_worker
91 +
92 + def getBuildWorkersUuid(self):
93 + build_worker = []
94 + for worker in self.worker_data:
95 + if worker['type'] != 'local' and worker['enable'] is True:
96 + build_worker.append(worker['uuid'])
97 + print(build_worker)
98 + return build_worker
99 +
100 + def getBuildWorkersAllData(self):
101 + build_worker = []
102 + for worker in self.worker_data:
103 + if worker['type'] != 'local' and worker['enable'] is True:
104 + build_worker.append(worker)
105 + print(build_worker)
106 + return build_worker
107 +
108 +def gentoo_workers(worker_data):
109 + w = []
110 + g_ci_w = gentoo_ci_workers(worker_data)
111 + LocalWorkers = g_ci_w.getLocalWorkersUuid()
112 + BuildWorkers = g_ci_w.getBuildWorkersAllData()
113 + for local_worker in LocalWorkers:
114 + w.append(worker.LocalWorker(local_worker))
115 + for build_worker in BuildWorkers:
116 + if build_worker['type'] == 'default':
117 + w.append(worker.Worker(build_worker['uuid'], build_worker['password']))
118 return w