From eda305d85c1fe6f2db55c16070647a27d0aa5289 Mon Sep 17 00:00:00 2001 From: Miguel Angel Ajo Date: Sun, 26 Jan 2025 21:22:48 +0100 Subject: [PATCH] Fix Dutlink timeout handling after refactor --- .../jumpstarter_driver_dutlink/driver.py | 10 +++++----- uv.lock | 20 ------------------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/packages/jumpstarter-driver-dutlink/jumpstarter_driver_dutlink/driver.py b/packages/jumpstarter-driver-dutlink/jumpstarter_driver_dutlink/driver.py index b8210de56..a93955a0d 100644 --- a/packages/jumpstarter-driver-dutlink/jumpstarter_driver_dutlink/driver.py +++ b/packages/jumpstarter-driver-dutlink/jumpstarter_driver_dutlink/driver.py @@ -24,6 +24,7 @@ @dataclass(kw_only=True) class DutlinkConfig: serial: str | None = field(default=None) + timeout_s: int = field(default=20) # 20 seconds, power control sequences can block USB for a long time dev: usb.core.Device = field(init=False) itf: usb.core.Interface = field(init=False) @@ -52,6 +53,7 @@ def __post_init__(self): if not self.tty: raise RuntimeError(f"no console found for the dutlink board with serial {serial}") + self.dev.default_timeout = self.timeout_s * 1000 return raise FileNotFoundError("failed to find dutlink device") @@ -227,7 +229,6 @@ async def read(self, dst: str): @dataclass(kw_only=True) class Dutlink(DutlinkConfig, CompositeInterface, Driver): alternate_console: str | None = field(default=None) - timeout_s: int = field(default=20) # 20 seconds, power control sequences can block USB for a long time storage_device: str baudrate: int = field(default=115200) @@ -252,10 +253,9 @@ class Dutlink(DutlinkConfig, CompositeInterface, Driver): def __post_init__(self): super().__post_init__() - self.dev.default_timeout = self.timeout_s * 1000 - - self.children["power"] = DutlinkPower(serial=self.serial) - self.children["storage"] = DutlinkStorageMux(serial=self.serial, storage_device=self.storage_device) + self.children["power"] = DutlinkPower(serial=self.serial, timeout_s=self.timeout_s) + self.children["storage"] = DutlinkStorageMux(serial=self.serial, storage_device=self.storage_device, + timeout_s=self.timeout_s) # if an alternate serial port has been requested, use it if self.alternate_console is not None: diff --git a/uv.lock b/uv.lock index cc960ee23..6b11c1dce 100644 --- a/uv.lock +++ b/uv.lock @@ -737,7 +737,6 @@ wheels = [ [[package]] name = "jumpstarter" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter" } dependencies = [ { name = "aiohttp" }, @@ -784,7 +783,6 @@ dev = [ [[package]] name = "jumpstarter-cli" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-cli" } dependencies = [ { name = "jumpstarter-cli-admin" }, @@ -817,7 +815,6 @@ dev = [ [[package]] name = "jumpstarter-cli-admin" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-cli-admin" } dependencies = [ { name = "jumpstarter-cli-common" }, @@ -848,7 +845,6 @@ dev = [ [[package]] name = "jumpstarter-cli-client" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-cli-client" } dependencies = [ { name = "jumpstarter-cli-common" }, @@ -875,7 +871,6 @@ dev = [ [[package]] name = "jumpstarter-cli-common" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-cli-common" } dependencies = [ { name = "asyncclick" }, @@ -906,7 +901,6 @@ dev = [ [[package]] name = "jumpstarter-cli-exporter" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-cli-exporter" } dependencies = [ { name = "asyncclick" }, @@ -937,7 +931,6 @@ dev = [ [[package]] name = "jumpstarter-driver-can" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-can" } dependencies = [ { name = "can-isotp" }, @@ -966,7 +959,6 @@ dev = [ [[package]] name = "jumpstarter-driver-composite" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-composite" } dependencies = [ { name = "asyncclick" }, @@ -995,7 +987,6 @@ dev = [ [[package]] name = "jumpstarter-driver-dutlink" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-dutlink" } dependencies = [ { name = "asyncclick" }, @@ -1070,7 +1061,6 @@ dev = [ [[package]] name = "jumpstarter-driver-network" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-network" } dependencies = [ { name = "fabric" }, @@ -1103,7 +1093,6 @@ dev = [ [[package]] name = "jumpstarter-driver-opendal" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-opendal" } dependencies = [ { name = "asyncclick" }, @@ -1132,7 +1121,6 @@ dev = [ [[package]] name = "jumpstarter-driver-power" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-power" } dependencies = [ { name = "asyncclick" }, @@ -1163,7 +1151,6 @@ dev = [ [[package]] name = "jumpstarter-driver-pyserial" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-pyserial" } dependencies = [ { name = "asyncclick" }, @@ -1194,7 +1181,6 @@ dev = [ [[package]] name = "jumpstarter-driver-raspberrypi" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-raspberrypi" } dependencies = [ { name = "gpiozero" }, @@ -1221,7 +1207,6 @@ dev = [ [[package]] name = "jumpstarter-driver-sdwire" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-sdwire" } dependencies = [ { name = "jumpstarter" }, @@ -1289,7 +1274,6 @@ dev = [ [[package]] name = "jumpstarter-driver-ustreamer" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-driver-ustreamer" } dependencies = [ { name = "jumpstarter" }, @@ -1350,7 +1334,6 @@ requires-dist = [ [[package]] name = "jumpstarter-imagehash" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-imagehash" } dependencies = [ { name = "imagehash" }, @@ -1377,7 +1360,6 @@ dev = [ [[package]] name = "jumpstarter-kubernetes" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-kubernetes" } dependencies = [ { name = "jumpstarter" }, @@ -1410,7 +1392,6 @@ dev = [ [[package]] name = "jumpstarter-protocol" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-protocol" } dependencies = [ { name = "grpcio" }, @@ -1441,7 +1422,6 @@ dev = [ [[package]] name = "jumpstarter-testing" -version = "0.5.1.dev125+g41e837e.d20250124" source = { editable = "packages/jumpstarter-testing" } dependencies = [ { name = "jumpstarter" },