Skip to content

Conversation

@ylebi
Copy link
Collaborator

@ylebi ylebi commented Sep 15, 2025

This commit implements comprehensive IPv6 support for ScyllaClusters, enabling:

  • IPv6-only ScyllaDB clusters
  • Dual-stack (IPv4/IPv6) Kubernetes services
  • IPv6 broadcast address handling
  • IPv6-aware probe servers and health checks

Key changes:

  • Add ipFamily field to ScyllaCluster API
  • Implement IPv6-aware networking helpers
  • Add IPv6 support to ScyllaDB configuration
  • Add E2E tests for IPv6 scenarios
  • Include user documentation and working examples

The implementation maintains full backward compatibility with existing IPv4-only deployments.

Description of your changes:

Which issue is resolved by this Pull Request:
Resolves #2435

/kind feature

@scylla-operator-bot scylla-operator-bot bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/feature Categorizes issue or PR as related to a new feature. labels Sep 15, 2025
@scylla-operator-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ylebi
Once this PR has been reviewed and has the lgtm label, please assign mflendrich for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@scylla-operator-bot scylla-operator-bot bot added needs-priority Indicates a PR lacks a `priority/foo` label and requires one. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Sep 15, 2025
@ylebi ylebi force-pushed the feature/ipv6-support branch 2 times, most recently from 6d2fd33 to b57b05d Compare September 15, 2025 09:32
@ylebi
Copy link
Collaborator Author

ylebi commented Sep 15, 2025

/hold

@scylla-operator-bot scylla-operator-bot bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 15, 2025
@ylebi ylebi force-pushed the feature/ipv6-support branch from b57b05d to b1fce78 Compare September 17, 2025 10:18
@ylebi
Copy link
Collaborator Author

ylebi commented Sep 17, 2025

I discovered that our prow cluster is IPv4-only and we need to have dual-stack support in order to pass these tests. https://github.com/scylladb/scylla-operator-release/issues/490

@ylebi ylebi force-pushed the feature/ipv6-support branch 2 times, most recently from ffc2cc1 to 0559881 Compare October 15, 2025 12:59
Copy link
Collaborator Author

@ylebi ylebi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/retest

@rzetelskik
Copy link
Member

/test images e2e-gke-parallel-ipv6

@scylla-operator-bot scylla-operator-bot bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 16, 2025
@ylebi ylebi force-pushed the feature/ipv6-support branch from 0559881 to 9f47951 Compare October 16, 2025 11:09
@scylla-operator-bot scylla-operator-bot bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 16, 2025
@ylebi ylebi force-pushed the feature/ipv6-support branch from 9f47951 to dbbff22 Compare October 16, 2025 11:23
@ylebi
Copy link
Collaborator Author

ylebi commented Oct 16, 2025

/test images e2e-gke-parallel-ipv6

@ylebi
Copy link
Collaborator Author

ylebi commented Oct 17, 2025

/test e2e-gke-parallel-ipv6

@ylebi ylebi force-pushed the feature/ipv6-support branch from dbbff22 to 242d12a Compare October 22, 2025 09:32
@ylebi
Copy link
Collaborator Author

ylebi commented Oct 22, 2025

/test e2e-gke-parallel-ipv6

@ylebi ylebi removed do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Oct 22, 2025
@scylla-operator-bot scylla-operator-bot bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 22, 2025
@ylebi ylebi changed the title [WIP] Add IPv6 support for ScyllaClusters Add IPv6 support for ScyllaClusters Oct 22, 2025
@scylla-operator-bot scylla-operator-bot bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 22, 2025
@ylebi
Copy link
Collaborator Author

ylebi commented Oct 22, 2025

/test olm-bundle-openshift-preflight

@scylla-operator-bot scylla-operator-bot bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 24, 2025
This commit implements comprehensive IPv6 support for ScyllaClusters, enabling:

- IPv6-only ScyllaDB clusters
- Dual-stack (IPv4/IPv6) Kubernetes services
- IPv6 broadcast address handling
- IPv6-aware probe servers and health checks
- IPv6 support for multi-datacenter communication

Key changes:
- Add ipFamily field to ScyllaCluster API with IPv4/IPv6 enum validation
- Implement IPv6-aware networking helpers in pkg/helpers/networking.go
- Add IPv6 support to ScyllaDB configuration (listen/rpc addresses, DNS lookups)
- Update controllers to handle IPv6 service creation and endpoint management
- Add comprehensive E2E tests for IPv6 scenarios
- Include user documentation and working examples

The implementation maintains full backward compatibility with existing IPv4-only deployments.
@ylebi ylebi force-pushed the feature/ipv6-support branch from 242d12a to dff7102 Compare October 25, 2025 17:31
@scylla-operator-bot scylla-operator-bot bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 25, 2025
@ylebi
Copy link
Collaborator Author

ylebi commented Oct 25, 2025

/test e2e-gke-parallel
/test e2e-gke-parallel-ipv6

@scylla-operator-bot
Copy link
Contributor

scylla-operator-bot bot commented Oct 25, 2025

@ylebi: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-gke-multi-datacenter-parallel dff7102 link false /test e2e-gke-multi-datacenter-parallel

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@czeslavo
Copy link
Contributor

@ylebi I'll review this PR this week once I'm done with anything else that's left for 1.19. I hope that's ok.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature Categorizes issue or PR as related to a new feature. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for running ScyllaClusters on IPv6

3 participants