Bug 2193266 - Openshift Virtualization does not validate cluster network is single-stack IPv6 and fails with cryptic error
Summary: Openshift Virtualization does not validate cluster network is single-stack IP...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: Installation
Version: 4.12.2
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 4.14.0
Assignee: Dharmit Shah
QA Contact: SATHEESARAN
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-04 23:26 UTC by Sean Haselden
Modified: 2023-11-08 14:05 UTC (History)
4 users (show)

Fixed In Version: hco-bundle-registry-container-v4.14.0.rhel9-1744
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-11-08 14:05:31 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github kubevirt hyperconverged-cluster-operator pull 2386 0 None Merged Detect if OpenShift cluster is single stack ipv6 2023-08-10 14:26:07 UTC
Github kubevirt hyperconverged-cluster-operator pull 2467 0 None Merged [release-1.10] Detect if OpenShift cluster is single stack ipv6 (#2386) 2023-08-10 15:40:51 UTC
Red Hat Issue Tracker CNV-28584 0 None None None 2023-05-04 23:29:41 UTC
Red Hat Product Errata RHSA-2023:6817 0 None None None 2023-11-08 14:05:41 UTC

Description Sean Haselden 2023-05-04 23:26:45 UTC
Description of problem:

Openshift Virtualization does not currently support single-stack ipv6 and should fail immediately with an error stating that. 

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Configure shift for single-stack ipv6 
2. Install openshift virtualization


Actual results:

ssp-operator-679458df66-gh7r6                          0/1   {<--Container is not Ready}   Running             3 (43s ago)   2m55s


{"level":"info","ts":1683110602.9479203,"msg":"Stopping and waiting for webhooks"}
{"level":"info","ts":1683110602.9479678,"logger":"controller-runtime.webhook","msg":"shutting down webhook server"}
{"level":"info","ts":1683110602.9480054,"msg":"Wait completed, proceeding to shutdown the manager"}
E0503 10:43:22.948035       1 leaderelection.go:367] Failed to update lock: context canceled
I0503 10:43:22.948054       1 leaderelection.go:283] failed to renew lease openshift-cnv/734f7229.kubevirt.io: timed out waiting for the condition
{"level":"error","ts":1683110602.9480677,"msg":"problem running manager","error":"error starting serviceController: error start serviceReconciler: Service "ssp-operator-metrics" is invalid: spec.ipFamilies[0]: Invalid value: "IPv4": not configured on this cluster","stacktrace":"kubevirt.io/ssp-operator/controllers.CreateAndStartReconciler\n\t/remote-source/app/controllers/setup.go:45\nmain.main\n\t/remote-source/app/main.go:184\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:250"}
{"level":"error","ts":1683110602.9481094,"logger":"setup","msg":"unable to create or start controller","controller":"SSP","error":"error starting serviceController: error start serviceReconciler: Service "ssp-operator-metrics" is invalid: spec.ipFamilies[0]: Invalid value: "IPv4": not configured on this cluster","stacktrace":"main.main\n\t/remote-### HEADINGsource/app/main.go:185\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:250"}




Expected results:

Fail at initial environment validation instead of part way through the deployment. 


Additional info:

Comment 1 vivek_bheeman 2023-05-09 08:19:24 UTC
it worked in 4.10 as there was no explicit check on single vs dual stack. Since this fix "https://github.com/kubevirt/ssp-operator/commit/b9ad74a8c52f22993e62de937c6e0deae38fbc4a" , there has been a hardcoded configuration for IPv4 which is causing the failure

Spec: v1.ServiceSpec{
InternalTrafficPolicy: &policyCluster,
IPFamilies: []v1.IPFamily{v1.IPv4Protocol},
IPFamilyPolicy: &familyPolicy,
Ports: []v1.ServicePort{
{
Name: metrics.MetricsPortName,
Port: 443,
Protocol: v1.ProtocolTCP,
TargetPort: intstr.FromString(metrics.MetricsPortName),
},
},
Selector: map[string]string{
metrics.PrometheusLabelKey: metrics.PrometheusLabelValue,
"name": OperatorName,
},
SessionAffinity: v1.ServiceAffinityNone,
Type: v1.ServiceTypeClusterIP,
},

Comment 2 Krzysztof Majcher 2023-05-09 12:49:18 UTC
Petr, do you know if CNV should support single stack IPV6?
If not, we need to generate new alert, if yes it will be completely different discussion.

Comment 3 Petr Horáček 2023-05-09 12:52:53 UTC
Hey. We do not support single-stack IPv6. The feature is tracked in https://issues.redhat.com/browse/CNV-14598 and not pinned to any release.

Comment 4 Krzysztof Majcher 2023-05-23 12:47:50 UTC
The decision is to improve on error raised, so it's not as cryptic as of now.

Comment 6 SATHEESARAN 2023-09-22 10:51:37 UTC
Tested with:
OCP-4.14.0-0.nightly-2023-09-20-033502
CNV-v4.14.0.rhel9-2040

Installing CNV operator on the single stack IPv6 OCP cluster, throws the critical alert - 
"SingleStackIPv6Unsupported
KubeVirt Hyperconverged is not supported on a single stack IPv6 cluster"

With this observation moving this bug to VERIFIED

Comment 8 errata-xmlrpc 2023-11-08 14:05:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: OpenShift Virtualization 4.14.0 Images security and bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2023:6817


Note You need to log in before you can comment on or make changes to this bug.