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

未关闭 适合新手
#14,180 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
1/5
预计耗时
1 小时以内
新手友好度
88/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
kubernetes, shell

调研方向

从 create-kubernetes-binaries-iso.sh 开始,找到创建 ISO 的 mkisofs 命令。使用 EL8 的 xorriso 兼容工具重现该问题,然后使用 blkid 验证生成的 ISO 是否具有预期的 CDROM 卷标,并且可以在 CloudStack 中挂载。

由索引模型根据 Issue 内容生成。

描述

bug component:kubernetes
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

主要语言
Java
星标
3.1k
派生
1.4k
平均合并
7 天 5 小时
30 天内合并 PR
28

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

apache/cloudstack 的其他 Issue

查看 apache/cloudstack 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。