Skip to content

Commit 1bfc756

Browse files
committed
Centralize LibVirtWorker specification into a dataclass
1 parent 00de961 commit 1bfc756

File tree

1 file changed

+30
-19
lines changed

1 file changed

+30
-19
lines changed

master-libvirt/master.cfg

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
# ex: set filetype=python:
33

44
import os
5+
from dataclasses import dataclass
56

67
from buildbot.plugins import steps, util, worker
78
from buildbot.steps.shell import Test
89
from constants import BUILDERS_INSTALL, OS_INFO
910
from master_common import base_master_config
1011
from utils import canStartBuild, envFromProperties, getScript, nextBuild, printEnv
1112

13+
1214
cfg_dir = os.path.abspath(os.path.dirname(__file__))
1315

1416
# Non autogen master. For now the directory structure is:
@@ -184,6 +186,23 @@ f_rpm_upgrade.addStep(getRpmUpgradeStep())
184186
c["workers"] = []
185187
c["builders"] = []
186188

189+
190+
@dataclass
191+
class LibVirtWorkerSpecs:
192+
name: str
193+
connection_url: str
194+
image_path: str
195+
password: str
196+
197+
def __init__(self, platform: str, os_name: str, os_version: str):
198+
host, url = config["private"]["libvirt_workers"][platform]
199+
name = f"{host}-{os_name}-{os_version}-{platform}", url
200+
super().__init__(name=name,
201+
connection_url=url,
202+
image_path=f"/var/libvirt/images/{name}",
203+
password=config["private"]["worker_pass"]["libvirt"])
204+
205+
187206
# Add the workers and builds based on the configured install builders (see constants.py)
188207
for builder_name in BUILDERS_INSTALL:
189208
# Parse builder name
@@ -193,24 +212,16 @@ for builder_name in BUILDERS_INSTALL:
193212

194213
os_info_name = os_name + "-" + os_version
195214

196-
libvirt_worker_name = (
197-
config["private"]["libvirt_workers"][platform][0]
198-
+ "-"
199-
+ os_name
200-
+ "-"
201-
+ os_version
202-
+ "-"
203-
+ platform
204-
)
205-
connection_url = config["private"]["libvirt_workers"][platform][1]
206-
image_path = "/var/libvirt/images/" + libvirt_worker_name
215+
worker_specs = LibVirtWorkerSpecs(platform=platform,
216+
os_name=os_name,
217+
os_version=os_version)
207218

208219
c["workers"].append(
209220
worker.LibVirtWorker(
210-
libvirt_worker_name,
211-
config["private"]["worker_pass"]["libvirt"],
212-
util.Connection(connection_url),
213-
image_path,
221+
worker_specs.name,
222+
worker_specs.password,
223+
util.Connection(worker_specs.connection_url),
224+
worker_specs.image_path,
214225
build_wait_timeout=0,
215226
max_builds=1,
216227
)
@@ -236,7 +247,7 @@ for builder_name in BUILDERS_INSTALL:
236247
c["builders"].append(
237248
util.BuilderConfig(
238249
name=builder_name,
239-
workernames=libvirt_worker_name,
250+
workernames=worker_specs.name,
240251
tags=[os_name, builder_type, "install", "kvm"],
241252
collapseRequests=True,
242253
nextBuild=nextBuild,
@@ -260,7 +271,7 @@ for builder_name in BUILDERS_INSTALL:
260271
c["builders"].append(
261272
util.BuilderConfig(
262273
name=major_upgrade_name,
263-
workernames=libvirt_worker_name,
274+
workernames=worker_specs.name,
264275
tags=[os_name, builder_type, "upgrade", "kvm", "major", "server"],
265276
collapseRequests=True,
266277
nextBuild=nextBuild,
@@ -286,7 +297,7 @@ for builder_name in BUILDERS_INSTALL:
286297
c["builders"].append(
287298
util.BuilderConfig(
288299
name=minor_upgrade_name + "-all",
289-
workernames=libvirt_worker_name,
300+
workernames=worker_specs.name,
290301
tags=[os_name, builder_type, "upgrade", "kvm", "minor", "all"],
291302
collapseRequests=True,
292303
nextBuild=nextBuild,
@@ -310,7 +321,7 @@ for builder_name in BUILDERS_INSTALL:
310321
c["builders"].append(
311322
util.BuilderConfig(
312323
name=minor_upgrade_name + "-columnstore",
313-
workernames=libvirt_worker_name,
324+
workernames=worker_specs.name,
314325
tags=[os_name, builder_type, "upgrade", "kvm", "minor", "columnstore"],
315326
collapseRequests=True,
316327
nextBuild=nextBuild,

0 commit comments

Comments
 (0)