-
Notifications
You must be signed in to change notification settings - Fork 5k
Description
People following https://minikube.sigs.k8s.io/docs/contrib/building/iso/ on newer distros (even using docker) will hit a python2 dependecy. At first I thought this was a minkube build process dependency , but eventually became clear it's the version of Gluster we attempt to build in which is so old it depends on python2.
Looking round corners- when the runner in update-iso-image-versions.yml gets bumped from ubuntu-22.04
to ubuntu-24.04
or ubuntu-latest
checking whether /usr/bin/python2 version >= 2.6... configure: error: too old
make[2]: *** [package/pkg-generic.mk:263: /home/minikub-build/minikube/out/buildroot/output-x86_64/build/gluster-4.1.5/.stamp_configured] Error 127
make[1]: *** [Makefile:83: _all] Error 2
make[1]: Leaving directory '/home/minikub-build/minikube/out/buildroot'
make: *** [Makefile:306: minikube-iso-x86_64] Error 2
runs-on: ubuntu-22.04 |
Related: #20830
🤔* this is more/also a gluster issue than anything else. Should we instead change BR2_PACKAGE_GLUSTER
default to n
since it appears to require python2 (package newer version of gluster)? minikube iso currently instructs Buildroot to build a very old 4.1.5 version the next version up is a [major though (5)[(https://docs.gluster.org/en/main/release-notes/) which may or may not be compoatible with CSI
git diff deploy/iso/minikube-iso/package/gluster/Config.in
diff --git a/deploy/iso/minikube-iso/package/gluster/Config.in b/deploy/iso/minikube-iso/package/gluster/Config.in
index cc5f3b540..124d9bd16 100644
--- a/deploy/iso/minikube-iso/package/gluster/Config.in
+++ b/deploy/iso/minikube-iso/package/gluster/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_GLUSTER
bool "gluster"
- default y
+ default n
select BR2_PACKAGE_LIBURCU
select BR2_PACKAGE_LIBXML2
help
With the above (disabling gluster from being built-in), one gets a sucessful build of minikube iso:
# x86_64 ISO is still BIOS rather than EFI because of AppArmor issues for KVM, and Gen 2 issues for Hyper-V
if [ "x86_64" = "aarch64" ]; then \
mv /home/minikub-build/minikube/out/buildroot/output-aarch64/images/boot.iso /home/minikub-build/minikube/out/minikube-arm64.iso; \
else \
mv /home/minikub-build/minikube/out/buildroot/output-x86_64/images/rootfs.iso9660 /home/minikub-build/minikube/out/minikube-amd64.iso; \
fi;
rm deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/usr/bin/auto-pause
minikub-build@minikube-build:~/minikube$ echo $?
0
minikub-build@minikube-build:~/minikube$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.3 LTS"
...
file out/minikube-amd64.iso
out/minikube-amd64.iso: ISO 9660 CD-ROM filesystem data 'ISOIMAGE' (bootable)