Summary
The OLMv1 e2e test operator's httpd script uses python3 -m http.server 8081 which binds to 0.0.0.0 (IPv4 only) by default. On IPv6-only metal clusters, the pod's startup/liveness/readiness probes connect to the pod's IPv6 address (e.g. [fd01:0:0:6::530]:8081) but nothing is listening, so the operator pod never becomes Ready.
This causes two blocking OLMv1 tests to fail on every run:
- [sig-olmv1][OCPFeatureGate:NewOLM] OLMv1 operator installation should install a cluster extension
- [sig-olmv1][OCPFeatureGate:NewOLM] OLMv1 operator installation should block cluster upgrades if an incompatible operator is installed
Impact
0% pass rate (all-time, 58 runs since 2026-02-09) on:
- periodic-ci-openshift-release-main-nightly-4.22-e2e-metal-ipi-ovn-ipv6-techpreview
The same tests pass at 98.83% (1856/1878) across all other variants, confirming this is isolated to IPv6-only networks.
Root Cause
In openshift/tests-extension/testdata/operator/manifests/script.configmap.yaml:
python3 -m http.server 8081 --directory /tmp/www
Python's http.server binds to 0.0.0.0 by default, which only listens on IPv4.
Fix
Change to:
python3 -m http.server 8081 --bind :: --directory /tmp/www
--bind :: makes the server listen on all interfaces including IPv6.
PR: https://github.com/openshift/operator-framework-operator-controller/pull/657
Affected Variant
- Platform: metal
- Network: ovn (IPv6)
- FeatureSet: techpreview
- Topology: ha
- Architecture: amd64