-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
problem
On RHEL 9.6 we are having the same issues described here: #10864
According to this, the host needs to have one of the following /usr/bin/genisoimage, /usr/bin/mkisofs, /usr/local/bin/mkisofs
the first two are present in RHEL 9.6 but ultimately, as symlinks to xorriso
, See:
genisoimage:
# ls -lat /usr/bin/genisoimage
lrwxrwxrwx. 1 root root 37 Sep 12 09:26 /usr/bin/genisoimage -> /etc/alternatives/mkisofs-genisoimage
# ls -lat /etc/alternatives/mkisofs-genisoimage
lrwxrwxrwx. 1 root root 18 Aug 7 14:55 /etc/alternatives/mkisofs-genisoimage -> /usr/bin/xorrisofs
# ls -lat /usr/bin/xorrisofs
lrwxrwxrwx. 1 root root 7 Jan 15 2025 /usr/bin/xorrisofs -> xorriso
mkisofs:
# ls -lat /usr/bin/mkisofs
lrwxrwxrwx. 1 root root 25 Aug 7 14:55 /usr/bin/mkisofs -> /etc/alternatives/mkisofs
# ls -lat /etc/alternatives/mkisofs
lrwxrwxrwx. 1 root root 18 Aug 7 14:55 /etc/alternatives/mkisofs -> /usr/bin/xorrisofs
# ls -lat /usr/bin/xorrisofs
lrwxrwxrwx. 1 root root 7 Jan 15 2025 /usr/bin/xorrisofs -> xorriso
#update-alternatives --display mkisofs
mkisofs - status is auto.
link currently points to /usr/bin/xorrisofs
/usr/bin/xorrisofs - priority 50
follower mkisofs-genisoimage: /usr/bin/xorrisofs
follower mkisofs-genisoimageman: /usr/share/man/man1/xorrisofs.1.gz
follower mkisofs-mkisofsman: /usr/share/man/man1/xorrisofs.1.gz
Current `best' version is /usr/bin/xorrisofs.
if I rename those two binaries I get the error: "Cannot create iso for config drive using any know tool. Known paths [/usr/bin/genisoimage, /usr/bin/mkisofs, /usr/local/bin/mkisofs]" (as per code above). Meaning the check is done correctly.
I also tested manually to create an iso with genisoimage using the flags CloudStack wants to use and that works (to prove that genisoimage
actually works)
/usr/bin/genisoimage -o /tmp/configdrive-test.iso -ldots -allow-lowercase -allow-multidot -cache-inodes -l -quiet -J -r -V config-2 /tmp/configdrive-test
I am not a programmer, but it seems that the this is returning /usr/bin/xorriso
which does not support directly the mkisofs
style flags, one needs to pass the mkisofs
flags like so: xorriso -as mkisofs
.
versions
CloudStack 4.20.1 on KVM
The steps to reproduce the bug
See above
What to do about it?
Perhaps improve the code how the iso generation tool is detected (should not follow symlinks)?