problem
create-kubernetes-binaries-iso.sh builds the ISO without setting a volume ID on EL8 based os
versions
ACS 4.20.X
ACS 4.22.X
ACS 4.23
Management server : Oracle 8 , rocky 8
The steps to reproduce the bug
- ISO tooling — genisoimage does not exist on EL8; xorriso provides mkisofs
sudo dnf install -y xorriso curl wget
- containerd (for ctr) — static tarball avoids the docker-ce repo and podman conflicts
VER=1.7.24
curl -fsSL "https://github.com/containerd/containerd/releases/download/v${VER}/containerd-${VER}-linux-amd64.tar.gz" \
| sudo tar -C /usr/local -xz
curl -fsSL -o /tmp/runc https://github.com/opencontainers/runc/releases/download/v1.2.3/runc.amd64
sudo install -m 755 /tmp/runc /usr/local/sbin/runc
curl -fsSL https://raw.githubusercontent.com/containerd/containerd/main/containerd.service \
| sudo tee /etc/systemd/system/containerd.service >/dev/null
sudo systemctl daemon-reload && sudo systemctl enable --now containerd
sudo ln -sf /usr/local/bin/ctr /usr/bin/ctr # sudo secure_path excludes /usr/local/bin
- Verify
mkisofs --version && sudo ctr --version && wget --version | head -1 && curl --version | head -1
- Execute the script
./create-kubernetes-binaries-iso.sh /var/www/html 1.37.0 1.9.1 1.37.0 https://raw.githubusercontent.com/projectcalico/calico/v3.32.2/manifests/calico.yaml 0.45.0 setup-v1.37.0 amd64 3.7.0
- Verify the generated iso volume label
[root@ref-trl-12298-k-Mr8-suresh-anaparti-mgmt1 util]# blkid /var/www/html/setup-v1.37.0-x86_64.iso
/var/www/html/setup-v1.37.0-x86_64.iso: BLOCK_SIZE="2048" UUID="2026-09-16-08-13-12-00" LABEL="ISOIMAGE" TYPE="iso9660"
-
If the iso is used in cloudstack , the iso doesn't get mounted
-
Change the script
sed -i 's|^mkisofs -o |mkisofs -V CDROM -o |' create-kubernetes-binaries-iso.sh
- Run the script again and check the volume label
./create-kubernetes-binaries-iso.sh /var/www/html 1.37.0 1.9.1 1.37.0 https://raw.githubusercontent.com/projectcalico/calico/v3.32.2/manifests/calico.yaml 0.45.0 setup-v1.37.0 amd64 3.7.0
blkid /var/www/html/setup-v1.37.0-x86_64.iso
/var/www/html/setup-v1.37.0-x86_64.iso: BLOCK_SIZE="2048" UUID="2026-09-16-08-34-56-00" LABEL="CDROM" TYPE="iso9660"
Issue is not present with ubuntu based os
┌──────────────────────┬───────────────┬───────────────────┐
│ │ Default volid │ With -V CDROM │
├──────────────────────┼───────────────┼───────────────────┤
│ Ubuntu (genisoimage) │ CDROM │ CDROM — unchanged │
├──────────────────────┼───────────────┼───────────────────┤
│ OL8 (xorriso compat) │ ISOIMAGE │ CDROM — fixed │
└──────────────────────┴───────────────┴───────────────────┘
What to do about it?
Make the following modification to the create-kubernetes-binaries-iso.sh
sed -i 's|^mkisofs -o |mkisofs -V CDROM -o |' create-kubernetes-binaries-iso.sh
problem
create-kubernetes-binaries-iso.sh builds the ISO without setting a volume ID on EL8 based os
versions
ACS 4.20.X
ACS 4.22.X
ACS 4.23
Management server : Oracle 8 , rocky 8
The steps to reproduce the bug
If the iso is used in cloudstack , the iso doesn't get mounted
Change the script
Issue is not present with ubuntu based os
What to do about it?
Make the following modification to the create-kubernetes-binaries-iso.sh
sed -i 's|^mkisofs -o |mkisofs -V CDROM -o |' create-kubernetes-binaries-iso.sh