getting "ValueError: No suitable runner for org.osbuild.AutoSD", when building image from a "sample-image" image
see suggested cause and fix below
error log:
make cs9-qemu-developer-regular.x86_64.tar
osbuild-mpp -I . -D image_type="\"regular\"" -D arch=\"x86_64\" -D distro_name="\"cs9\"" -D target="\"qemu\"" images/developer.mpp.yml _build/cs9-qemu-developer-regular.x86_64.json
+ sudo rm -rf _build/image_output/tar
+ mkdir -p _build/image_output/tar
+ sudo osbuild --checkpoint build --store _build/osbuild_store --output-directory _build/image_output --export tar _build/cs9-qemu-developer-regular.x86_64.json
Traceback (most recent call last):
File "/bin/osbuild", line 33, in <module>
sys.exit(load_entry_point('osbuild==70', 'console_scripts', 'osbuild')())
File "/usr/lib/python3.9/site-packages/osbuild/main_cli.py", line 116, in osbuild_cli
manifest = fmt.load(desc, index)
File "/usr/lib/python3.9/site-packages/osbuild/formats/v2.py", line 368, in load
load_pipeline(desc, index, manifest, source_refs)
File "/usr/lib/python3.9/site-packages/osbuild/formats/v2.py", line 342, in load_pipeline
runner = Runner(index.detect_host_runner())
File "/usr/lib/python3.9/site-packages/osbuild/meta.py", line 684, in detect_host_runner
self._host_runner = self.detect_runner("org.osbuild." + osname)
File "/usr/lib/python3.9/site-packages/osbuild/meta.py", line 677, in detect_runner
raise ValueError(f"No suitable runner for {name}")
ValueError: No suitable runner for org.osbuild.AutoSD
make: *** [Makefile:155: cs9-qemu-developer-regular.x86_64.tar] Error 1
suggested cause and fix
suggested cause:
the distro of a "cs9-qemu-*" build, is AutoSD, version 9. however, there is no suitable runner in the path: /usr/lib/osbuild/runners/ (in source code: runners
suggested fix:
need to add a symlink in runners, just like was done with these 2 "unsupported" runners:
symlink could be either added to osbuild source code, or to the image that is build.
dirty W/A
for example, a simple W/A would be to run:
pushd /usr/lib/osbuild/runners/
sudo ln -s org.osbuild.centos9 org.osbuild.AutoSD9
popd
in the image, after it is created.