@@ -49,10 +49,10 @@ setup_local_registry_and_custom_image() {
4949 if [[ " ${ARCH} " == " ppc64le" ]]; then
5050 echo " >>> Setting up local registry and custom kicbase image for ppc64le..."
5151
52- # Check if local registry is running (with fallback for namespace issues )
52+ # Check if local registry is running (use 127.0.0.1 to avoid IPv6 fallback delay )
5353 registry_running=false
54- if curl -s http://localhost :5000/v2/_catalog > /dev/null 2>&1 ; then
55- echo " Registry detected via HTTP check (podman ps failed) "
54+ if curl -s --max-time 5 http://127.0.0.1 :5000/v2/_catalog > /dev/null 2>&1 ; then
55+ echo " Registry detected via HTTP check"
5656 registry_running=true
5757 fi
5858
@@ -62,15 +62,16 @@ setup_local_registry_and_custom_image() {
6262 # Clean up any existing registry first
6363 sudo podman rm -f registry 2> /dev/null || true
6464
65- if ! sudo podman run -d -p 5000:5000 --name registry --restart=always docker.io/library/registry:2; then
65+ # Bind to 127.0.0.1 only - avoids IPv6 issues with podman push on ppc64le
66+ if ! sudo podman run -d -p 127.0.0.1:5000:5000 --name registry --restart=always docker.io/library/registry:2; then
6667 echo " ❌ Failed to start local registry - trying alternative approach"
6768 exit 1
6869 fi
6970
7071 # Wait for registry to be ready
7172 echo " Waiting for registry to be ready..."
7273 for _ in {1..30}; do
73- if curl -s http://localhost :5000/v2/_catalog > /dev/null 2>&1 ; then
74+ if curl -s --max-time 5 http://127.0.0.1 :5000/v2/_catalog > /dev/null 2>&1 ; then
7475 break
7576 fi
7677 sleep 1
9192
9293 # Use kicbase v0.0.48 to match minikube v1.37.0 default
9394 custom_image_tag=" localhost:5000/kicbase:v0.0.48"
94- if curl -s http://localhost :5000/v2/kicbase/tags/list | grep -q " v0.0.48" ; then
95+ if curl -s --max-time 5 http://127.0.0.1 :5000/v2/kicbase/tags/list | grep -q " v0.0.48" ; then
9596 echo " Custom kicbase image already exists in local registry"
9697 return 0
9798 fi
118119 echo " Failed to build custom image"
119120 return 1
120121 }
122+
123+ # Ensure registry is still running before push (may have been cleaned up during build)
124+ # Use 127.0.0.1 to avoid IPv6 issues with podman on ppc64le
125+ if ! curl -s --max-time 5 http://127.0.0.1:5000/v2/_catalog > /dev/null 2>&1 ; then
126+ echo " Registry not responding, restarting..."
127+ sudo podman rm -f registry 2> /dev/null || true
128+ sudo podman run -d -p 127.0.0.1:5000:5000 --name registry --restart=always docker.io/library/registry:2
129+ for _ in {1..15}; do
130+ if curl -s --max-time 5 http://127.0.0.1:5000/v2/_catalog > /dev/null 2>&1 ; then
131+ echo " Registry restarted successfully"
132+ break
133+ fi
134+ sleep 1
135+ done
136+ fi
137+
121138 sudo podman push " ${custom_image_tag} " --tls-verify=false || {
122139 echo " Failed to push to registry"
123140 return 1
0 commit comments