mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 22:11:14 +02:00
docker: also null-bind udevadm in GNS3_MASK_UDEV
Masking the udev systemd units stopped the daemon's coldplug (host audio resets), but host USB devices still reconnected on every XRd start. A/B testing with plain `docker run` isolated the trigger: XRd's own xr_startup.sh calls udevadm directly (USB license-dongle probing, e.g. `udevadm trigger --action=add --parent-match=<usb device>`), which synthesizes uevents into the host kernel from the privileged container -- no udevd required. GNS3_MASK_UDEV=1 now also binds /dev/null over the udevadm binary (/bin, /sbin, /usr/bin). Verified with a plain-run experiment: with the bind, host udev monitor shows zero usb/input/hid/sound events during XRd boot (only normal docker veth traffic), and XRd itself boots to running state -- it does not need udevadm under GNS3 (interfaces are pre-created veths).
This commit is contained in:
2 files changed
+17
-2
No files matched your search
@@ -327,6 +327,8 @@ async def test_create_masks_systemd_units(compute_project, manager):
|
||||
if m.get("Source") == "/dev/null"}
|
||||
for unit in DockerVM._UDEV_UNITS:
|
||||
assert f"/etc/systemd/system/{unit}" in masked
|
||||
for path in DockerVM._UDEVADM_PATHS:
|
||||
assert path in masked
|
||||
assert "/etc/systemd/system/foo.service" in masked
|
||||
assert "/etc/systemd/system/bar.socket" in masked
|
||||
|
||||
|
||||
Reference in new issue
Block a user