Skip to content

create-kubernetes-binaries-iso.sh builds the ISO without setting a volume ID on EL8 based os's #14180

Description

@kiranchavala

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

  1. ISO tooling — genisoimage does not exist on EL8; xorriso provides mkisofs
sudo dnf install -y xorriso curl wget
  1. 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
  1. Verify
mkisofs --version && sudo ctr --version && wget --version | head -1 && curl --version | head -1
  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
  1. 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"
  1. If the iso is used in cloudstack , the iso doesn't get mounted

  2. Change the script

sed -i 's|^mkisofs -o |mkisofs -V CDROM -o |' create-kubernetes-binaries-iso.sh
  1. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions