From a362bde0ec469c2393aebab1b46de6dd6c16e530 Mon Sep 17 00:00:00 2001 From: Michael Burman Date: Tue, 11 Nov 2025 16:50:16 +0200 Subject: [PATCH 1/3] Add IPv6-only smoke test --- .github/actions/run-integ-test/action.yml | 5 ++- .github/workflows/kindIntegTest.yml | 45 ++++++++++++++++++++--- hack/cluster.sh | 33 +++++++++++++++++ 3 files changed, 76 insertions(+), 7 deletions(-) diff --git a/.github/actions/run-integ-test/action.yml b/.github/actions/run-integ-test/action.yml index df3c2fc76..8a93d45a4 100644 --- a/.github/actions/run-integ-test/action.yml +++ b/.github/actions/run-integ-test/action.yml @@ -12,6 +12,9 @@ inputs: serverImage: description: "Override server image used in the test file" required: false + networking: + description: "Set networking mode for kind cluster (default: ipv4)" + required: false runs: using: "composite" @@ -36,7 +39,7 @@ runs: - name: Create kind cluster shell: bash run: | - hack/cluster.sh + hack/cluster.sh ${{ inputs.networking }} - name: Install gatekeeper rules if: ${{ !env.SKIP_GATEKEEPER }} shell: bash diff --git a/.github/workflows/kindIntegTest.yml b/.github/workflows/kindIntegTest.yml index df4924462..19b6cb83b 100644 --- a/.github/workflows/kindIntegTest.yml +++ b/.github/workflows/kindIntegTest.yml @@ -90,7 +90,7 @@ jobs: strategy: matrix: version: - - "4.0.17" + - "4.0.18" integration_test: - cdc_successful # OSS only - config_fql @@ -158,7 +158,7 @@ jobs: strategy: matrix: version: - - "5.0.3" + - "5.0.5" integration_test: - canary_upgrade - podspec_simple @@ -191,7 +191,7 @@ jobs: strategy: matrix: version: - - "5.0.3" + - "5.0.5" integration_test: # Single worker tests: - additional_serviceoptions @@ -268,9 +268,9 @@ jobs: strategy: matrix: version: - - "4.0.17" - - "4.1.8" - - "5.0.3" + - "4.0.18" + - "4.1.9" + - "5.0.5" - "6.8.54" - "6.9.7" # - "5.1.0" @@ -316,6 +316,39 @@ jobs: with: name: k8s-logs-smoke_test-${{ matrix.version }} path: ./build/kubectl_dump + kind_smoke_ipv6_tests: + needs: build_docker_images + strategy: + matrix: + version: + - "5.0.5" + integration_test: + - test_all_the_things + fail-fast: true + runs-on: ubuntu-latest + env: + CGO_ENABLED: 0 + M_INTEG_DIR: ${{ matrix.integration_test }} + M_SERVER_VERSION: ${{ matrix.version }} + M_SERVER_IMAGE: ${{ matrix.serverImage }} + M_SERVER_TYPE: ${{ matrix.serverType }} + steps: + - uses: actions/checkout@v4 + if: github.event_name == 'pull_request' + with: + ref: ${{ github.event.pull_request.head.sha }} + - uses: actions/checkout@v4 + if: github.event_name != 'pull_request' + - uses: ./.github/actions/run-integ-test + with: + integration_test: ${{ matrix.integration_test }} + networking: ipv6 + - name: Archive k8s logs + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: k8s-logs-smoke_test-${{ matrix.version }} + path: ./build/kubectl_dump kind_topolvm_tests: name: TopoLVM kind installation with volumeExpansion needs: build_docker_images diff --git a/hack/cluster.sh b/hack/cluster.sh index e84636f12..8e0f3fd30 100755 --- a/hack/cluster.sh +++ b/hack/cluster.sh @@ -1,6 +1,38 @@ #!/bin/sh set -o errexit +usage() { + cat <<'EOF' +Usage: hack/cluster.sh [ipv4|ipv6|dual] + +Creates a kind cluster with an optional networking mode. +EOF +} + +IP_FAMILY="${1:-ipv4}" +case "${IP_FAMILY}" in + ipv4|ipv6|dual) + ;; + -h|--help) + usage + exit 0 + ;; + *) + usage + exit 1 + ;; +esac + +NETWORKING_CONFIG="" +if [ "${IP_FAMILY}" != "ipv4" ]; then + NETWORKING_CONFIG="networking: + ipFamily: ${IP_FAMILY}" + if [ "$(uname -s)" = "Darwin" ]; then + NETWORKING_CONFIG="${NETWORKING_CONFIG} + apiServerAddress: 127.0.0.1" + fi +fi + # 1. Create registry container unless it already exists reg_name='kind-registry' reg_port='5001' @@ -25,6 +57,7 @@ containerdConfigPatches: - |- [plugins."io.containerd.grpc.v1.cri".registry] config_path = "/etc/containerd/certs.d" +$(if [ -n "${NETWORKING_CONFIG}" ]; then printf '%s\n' "${NETWORKING_CONFIG}"; fi) nodes: - role: control-plane - role: worker From 65c662108ed1ad9a96402ac8896f87e56b92eaee Mon Sep 17 00:00:00 2001 From: Michael Burman Date: Wed, 12 Nov 2025 11:32:12 +0200 Subject: [PATCH 2/3] Use development version of k8ssandra-client for now --- config/imageconfig/image_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/imageconfig/image_config.yaml b/config/imageconfig/image_config.yaml index 17883aa0c..4c4c54611 100644 --- a/config/imageconfig/image_config.yaml +++ b/config/imageconfig/image_config.yaml @@ -15,7 +15,7 @@ images: k8ssandra-client: repository: "k8ssandra" name: "k8ssandra-client" - tag: "v0.8.3" + tag: "3d916941" # pullSecret: "k8ssandra-client-pull-secret" # Use of pullSecret removes the default pullSecrets for this image # pullPolicy: Always # -- defaults are used when other no override is present for the configured image or image type. All these values can be overridden under any image or image type. From 4f0192e4b773b2cbedbbfc8fd973a76534db66e6 Mon Sep 17 00:00:00 2001 From: Michael Burman Date: Tue, 18 Nov 2025 12:25:25 +0200 Subject: [PATCH 3/3] Fix log filename and some versions --- .github/workflows/kindIntegTest.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/kindIntegTest.yml b/.github/workflows/kindIntegTest.yml index 19b6cb83b..bd1f4d8fa 100644 --- a/.github/workflows/kindIntegTest.yml +++ b/.github/workflows/kindIntegTest.yml @@ -284,10 +284,10 @@ jobs: serverType: dse # - version: 5.1.0 # serverImage: ghcr.io/k8ssandra/cass-management-api:5.1-nightly-latest - - version: 4.0.17 + - version: 4.0.18 skipGatekeeper: true exclude: - - version: 4.0.17 + - version: 4.0.18 integration_test: "smoke_test_read_only_fs" fail-fast: true runs-on: ubuntu-latest @@ -347,7 +347,7 @@ jobs: if: ${{ failure() }} uses: actions/upload-artifact@v4 with: - name: k8s-logs-smoke_test-${{ matrix.version }} + name: k8s-logs-smoke_test_ipv6-${{ matrix.version }} path: ./build/kubectl_dump kind_topolvm_tests: name: TopoLVM kind installation with volumeExpansion