You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What happened?
Cassandra cluster installation on ipv6 only kind cluster is not successful.
(dc pod is up and ready, but CassandraDatacenter object is in status "Cassandra Operator Progress: Updating" forever)
Did you expect to see something different?
Cassandra working on ipv6 environment without problems.
How to reproduce it (as minimally and precisely as possible):
Install on ipv6 only environment (with vm_prefer_ipv4: false)
Environment
ipv6 only kind
Cass Operator version:
v1.12.0
Kubernetes version information:
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.5", GitCommit:"c285e781331a3785a7f436042c65c5641ce8a9e9", GitTreeState:"clean", BuildDate:"2022-03-24T22:06:50Z", GoVersion:"go1.17.8", Compiler:"gc", Platform:"linux/amd64"}
Kubernetes cluster kind:
ipv6 only kind
Manifests:
Cass Operator Logs:
Anything else we need to know?:
cass-operator compares ipv6 addresses in different formats (short format and full format(including 0:0:0)) which fails.
Pod has "short ipv6 ip" while NATIVE_ADDRESS_AND_PORT returned from cassandra has "full ipv6 ip".
Following patch solves my issue:
diff --git a/pkg/reconciliation/reconcile_racks.go b/pkg/reconciliation/reconcile_racks.go
index dad3e4d..f2df873 100644
--- a/pkg/reconciliation/reconcile_racks.go
+++ b/pkg/reconciliation/reconcile_racks.go
@@ -9,6 +9,7 @@ import (
"sort"
"strings"
"time"
+ "net"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
@@ -927,7 +928,8 @@ func (rc *ReconciliationContext) CreateUsers() result.ReconcileResult {
func findHostIdForIpFromEndpointsData(endpointsData []httphelper.EndpointState, ip string) string {
for _, data := range endpointsData {
- if data.GetRpcAddress() == ip {
+ if net.ParseIP(data.GetRpcAddress()).Equal(net.ParseIP(ip)) {
return data.HostID
}
}
┆Issue is synchronized with this Jira Task by Unito
┆friendlyId: K8SSAND-1787
┆priority: Medium
The text was updated successfully, but these errors were encountered:
sync-by-unitobot
changed the title
Installation fails in ipv6 only kind environment
K8SSAND-1787 ⁃ Installation fails in ipv6 only kind environment
Sep 19, 2022
tom-code
changed the title
K8SSAND-1787 ⁃ Installation fails in ipv6 only kind environment
K8SSAND-1787 ⁃ Cluster installation fails in ipv6 only kind environment
Sep 19, 2022
What happened?
Cassandra cluster installation on ipv6 only kind cluster is not successful.
(dc pod is up and ready, but CassandraDatacenter object is in status "Cassandra Operator Progress: Updating" forever)
Did you expect to see something different?
Cassandra working on ipv6 environment without problems.
How to reproduce it (as minimally and precisely as possible):
Install on ipv6 only environment (with vm_prefer_ipv4: false)
Environment
ipv6 only kind
Cass Operator version:
v1.12.0
Kubernetes version information:
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.5", GitCommit:"c285e781331a3785a7f436042c65c5641ce8a9e9", GitTreeState:"clean", BuildDate:"2022-03-24T22:06:50Z", GoVersion:"go1.17.8", Compiler:"gc", Platform:"linux/amd64"}
Kubernetes cluster kind:
ipv6 only kind
Manifests:
Cass Operator Logs:
Anything else we need to know?:
cass-operator compares ipv6 addresses in different formats (short format and full format(including 0:0:0)) which fails.
Pod has "short ipv6 ip" while NATIVE_ADDRESS_AND_PORT returned from cassandra has "full ipv6 ip".
Following patch solves my issue:
┆Issue is synchronized with this Jira Task by Unito
┆friendlyId: K8SSAND-1787
┆priority: Medium
The text was updated successfully, but these errors were encountered: