Add IPv6 support for EndpointSlice creation and port replacement - #16591
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #16591 +/- ##
==========================================
+ Coverage 80.21% 80.26% +0.04%
==========================================
Files 217 217
Lines 13545 13552 +7
==========================================
+ Hits 10865 10877 +12
+ Misses 2316 2310 -6
- Partials 364 365 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
/retest |
3 similar comments
|
/retest |
|
/retest |
|
/retest |
|
/retest I mean all other e2e tests pass, very unlikely that this failure comes from my change but too lazy to investigate right now at least Edit: Oh it might need an artifact that got removed, I'll just rebase and push again. |
The autoscaler stat forwarder hardcoded AddressTypeIPv4 when creating EndpointSlices, which breaks on IPv6-only or dual-stack clusters. Additionally, useSecurePort used strings.Split on ":" to extract the host, which breaks on bracketed IPv6 addresses like [::1]:8012. Changes: - Add addressTypeForIP helper to dynamically determine AddressType - Fix useSecurePort to use net.SplitHostPort/net.JoinHostPort - Add tests for both functions with IPv4 and IPv6 cases Signed-off-by: Vincent Link <vlink@redhat.com>
|
/retest |
|
/lgtm |
|
thanks! |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dprotaso, linkvt The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Should be this picked for 1.22.1 ? |
|
@matejvasek unsure - did IP6 work before? |
* docs(ecosystem): add Knative Installation Guide (S2) End-user installation guide for the Knative Operator on ACP 4.2/4.3, matching the ecosystem solution format (front-matter + Overview/Supported Versions/Prerequisites/ Install/Verify/Quick Start/Cleanup/FAQ). Covers the ACP-specific install details: KnativeServing must live in the knative-serving namespace (Kourier bootstrap), spec.registry.override + explicit queue-sidecar-image (operands are referenced by digest and the platform image allowlist cannot rewrite digests), and a Serving quick start. Documents the single-stack-IPv6 limitation (upstream autoscaler statforwarder hardcodes EndpointSlice AddressType=IPv4; fixed on main via knative/serving#16591, not yet in a released 1.22.x). Version-variable slots are fenced with factory:auto:* markers for later automated per-release updates. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(knative): add ACP 4.1 to supported versions Validated knative rc.8 end-to-end on ACP 4.1 (long-term C g2-c2, ARM, single-stack IPv4): operator CSV Succeeded, KnativeServing Ready, sample Knative Service Ready with URL. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(knative): adopt S2 product name "Alauda support for Knative" Title + overview now name the product per the S2 support-level convention (S2 = "Alauda support for XXX"), distinguishing this curated upstream-CNCF-Knative listing from Alauda's own "DevOps Eventing v3". Technical OperatorHub references kept as-is. 🤖 Generated with [Claude Code](https://claude.com/claude-code) * docs(knative): use alauda-support-for-knative package name throughout Match the renamed OLM package/CSV (alauda-support-for-knative), verified against a real build: OperatorHub tile + plugin package + CSV/subscription names updated. Kept the operator's own Deployment name (knative-operator) and the upstream bundle image, which are unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Jinpei Su <jpsu@alauda.io> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The autoscaler stat forwarder hardcoded AddressTypeIPv4 when creating EndpointSlices, which breaks on IPv6-only or dual-stack clusters. Additionally, useSecurePort used strings.Split on ":" to extract the host, which breaks on bracketed IPv6 addresses like [::1]:8012.
The issue in useSecurePort was spotted by AI, it does make sense to me though.
Reported by @matejvasek and verified locally in my IPv6 kind cluster, thanks again!
PR for fixing kourier will also follow.
Proposed Changes
/kind bug
Release Note