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:

org.osbuild.arch

org.osbuild.centos8

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.