Skip to content

runtimes: fix path translation when using --device-dict#64

Closed
roxell wants to merge 1 commit into
kernelci:masterfrom
roxell:fix-runtimes-using-device-dict
Closed

runtimes: fix path translation when using --device-dict#64
roxell wants to merge 1 commit into
kernelci:masterfrom
roxell:fix-runtimes-using-device-dict

Conversation

@roxell
Copy link
Copy Markdown
Collaborator

@roxell roxell commented May 18, 2026

In device-dict mode the bind uses dispatcher_download_dir on both the host and the container. The docker wrapper rewrote mount sources to tmpdir/dispatcher/tmp instead.

This sent the wrong path to the host docker daemon. The bind failed with:

bind source path does not exist: ...

Set _device_dict_volume to dispatcher_download_dir so the wrapper rewrite becomes a no-op in this mode.

Also create the dispatcher_download_dir on the host before binding it.

In device-dict mode the bind uses dispatcher_download_dir on both the
host and the container. The docker wrapper rewrote mount sources to
tmpdir/dispatcher/tmp instead.

This sent the wrong path to the host docker daemon. The bind failed
with:

  bind source path does not exist: ...

Set _device_dict_volume to dispatcher_download_dir so the wrapper
rewrite becomes a no-op in this mode.

Also create the dispatcher_download_dir on the host before binding it.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
@bhcopeland
Copy link
Copy Markdown
Member

I don't see this issue on my side. Strange, what's your steps here to reproduce?

@roxell
Copy link
Copy Markdown
Collaborator Author

roxell commented May 19, 2026

I don't see this issue on my side. Strange, what's your steps here to reproduce?

This is the failure.

- {"dt": "2026-05-18T14:49:02.933176", "lvl": "error", "msg": "Unable to run: ['docker', 'run', '--add-host=lava-worker.internal:host-gateway', '--volume=/usr/bin/laacli:/usr/bin/laacli:ro', '--volume=/usr/bin/lsibcli:/usr/bin/lsibcli:ro', '--volume=/run/dbus/system_bus_socket:/run/dbus/system_bus_socket:rw', '--device=/dev/bus/usb', '--rm', '--init', '--workdir=/lava-downloads', '--device=/dev/kvm', '--mount=type=bind,source=/var/lib/lava/dispatcher/tmp/tuxrun-v86mdj1g-1/downloads/common,destination=/lava-downloads', 'linaro/kir:20260511', '/lava-downloads/postprocess.sh']"}
- {"dt": "2026-05-18T14:49:02.934477", "lvl": "exception", "msg": "Post-processing of downloads failed"}
- {"dt": "2026-05-18T14:49:02.935727", "lvl": "debug", "msg": "end: 1.6 download-postprocess-docker (duration 00:00:01) [common]"}
- {"dt": "2026-05-18T14:49:02.937735", "lvl": "results", "msg": {"definition": "lava", "namespace": "common", "case": "download-postprocess-docker", "level": "1.6", "duration": "0.53", "result": "fail", "extra": {"fail": "Post-processing of downloads failed"}}}
- {"dt": "2026-05-18T14:49:02.939313", "lvl": "exception", "msg": "Post-processing of downloads failed"}

cmdline

/root/.local/bin/uv run --no-cache --with /root/src/tuxlava --with /root/src/tuxrun tuxrun --runtime docker --device fastboot-e850-96 --log-file - --kernel /path/to/kernel/build/Image.gz --rootfs https://storage.tuxboot.com/debian/trixie/arm64/rootfs.tar.xz --modules /path/to/kernel/build/modules.tar.xz /usr/ --dtb /path/to/kernel/build/dtbs/exynos/exynos850-e850-96.dtb --device-dict /root/src/tuxlava/test/device_dicts/fastboot-e850-96.jinja2 --parameters DISPATCHER_IP=198.18.0.1 --parameters ROOTFS_PARTITION=1 --boot-args=rw --save-outputs --lava-definition --debug --image tuxrun-dispatcher:0e1a18053672-dirty-d402da995a8a-arm64

@bhcopeland
Copy link
Copy Markdown
Member

Debugging this I see the issue is down to fastboot. Also be good to catch podman, I threw together a patch: https://gist.github.com/bhcopeland/8cc71b16bd93026b26faabd2d46e9565

@roxell
Copy link
Copy Markdown
Collaborator Author

roxell commented May 19, 2026

Debugging this I see the issue is down to fastboot. Also be good to catch podman, I threw together a patch: https://gist.github.com/bhcopeland/8cc71b16bd93026b26faabd2d46e9565

Great, send that as a PR and I review it, and we can close this one.

@roxell roxell closed this May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants