metadata: annotations: prow.k8s.io/context: pull-e2e-kind-tidbcluster prow.k8s.io/job: pull-e2e-kind-tidbcluster creationTimestamp: "2026-02-11T08:35:39Z" generation: 10 labels: created-by-prow: "true" event-GUID: 993b1840-0724-11f1-95c2-0a4d41e57190 prow.k8s.io/build-id: "2021503384401481728" prow.k8s.io/context: pull-e2e-kind-tidbcluster prow.k8s.io/id: cebb3525-2c3e-4b50-abdd-98c65c53c09f prow.k8s.io/is-optional: "true" prow.k8s.io/job: pull-e2e-kind-tidbcluster prow.k8s.io/refs.base_ref: release-1.x prow.k8s.io/refs.org: pingcap prow.k8s.io/refs.pull: "6699" prow.k8s.io/refs.repo: tidb-operator prow.k8s.io/type: presubmit name: cebb3525-2c3e-4b50-abdd-98c65c53c09f namespace: apps resourceVersion: "1770799159971839011" uid: 1854c075-0573-4960-a1df-d19e977b6f56 spec: agent: kubernetes cluster: default context: pull-e2e-kind-tidbcluster decoration_config: gcs_configuration: bucket: gs://prow-tidb-logs path_strategy: explicit gcs_credentials_secret: gcs-credentials timeout: 3h0m0s utility_images: clonerefs: gcr.io/k8s-prow/clonerefs:v20230601-43eb1068e4 entrypoint: gcr.io/k8s-prow/entrypoint:v20230601-43eb1068e4 initupload: gcr.io/k8s-prow/initupload:v20230601-43eb1068e4 sidecar: gcr.io/k8s-prow/sidecar:v20230601-43eb1068e4 job: pull-e2e-kind-tidbcluster namespace: prow-test-pods pod_spec: containers: - args: - | #!/usr/bin/env bash set -ex export DEBIAN_FRONTEND=noninteractive apt-get update apt-get install -y --no-install-recommends \ ca-certificates \ curl \ git \ make \ cmake \ tar \ jq \ coreutils # Install Docker CLI install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update apt-get install -y --no-install-recommends docker-ce-cli docker-buildx-plugin # Install Go curl -fsSL https://go.dev/dl/go1.23.10.linux-amd64.tar.gz | tar -C /usr/local -xz export PATH=/usr/local/go/bin:$PATH export GOPATH=/go export GOCACHE=/tmp/go-cache echo "Waiting for Docker daemon..." timeout_seconds=120 start_time=$(date +%s) while ! docker info > /dev/null 2>&1; do current_time=$(date +%s) elapsed=$((current_time - start_time)) if [ $elapsed -ge $timeout_seconds ]; then echo "Error: Docker daemon did not start within ${timeout_seconds} seconds." >&2 exit 1 fi sleep 5 done echo "Docker daemon is responsive." cd /workspace/go/src/github.com/pingcap/tidb-operator ./hack/e2e-patch-codecov.sh || true unset GOSUMDB E2E=y make build e2e-build make gocovmerge || true GITHASH=$(git rev-parse HEAD) IMAGE_TAG="e2e-${GITHASH:0:6}" echo "Building images locally..." E2E=y DOCKER_REPO=tidb-operator-e2e IMAGE_TAG=${IMAGE_TAG} make docker e2e-docker mount --make-rshared / || true mkdir -p /kind-data/control-plane/coverage mkdir -p /kind-data/worker1/coverage mkdir -p /kind-data/worker2/coverage mkdir -p /kind-data/worker3/coverage mkdir -p /mnt/tmpfs/etcd PROVIDER=kind KIND_DATA_HOSTPATH=/kind-data KIND_ETCD_DATADIR=/mnt/tmpfs/etcd SKIP_BUILD=y SKIP_IMAGE_BUILD=y SKIP_TEST=y SKIP_DOWN=y ./hack/e2e.sh test -f /root/.kube/config || { echo "ERROR: /root/.kube/config not found"; exit 1; } install -d -m 0755 /kubeconfig install -m 0644 /root/.kube/config /kubeconfig/admin.conf export KUBECONFIG=/kubeconfig/admin.conf echo "Creating coverage directories in kind nodes..." docker exec tidb-operator-control-plane mkdir -p /mnt/disks/coverage || true docker exec tidb-operator-worker mkdir -p /mnt/disks/coverage || true docker exec tidb-operator-worker2 mkdir -p /mnt/disks/coverage || true docker exec tidb-operator-worker3 mkdir -p /mnt/disks/coverage || true KIND_BIN="kind" if ! command -v kind >/dev/null 2>&1; then KIND_VERSION="v0.19.0" curl -fsSL "https://kind.sigs.k8s.io/dl/${KIND_VERSION}/kind-linux-amd64" -o /usr/local/bin/kind chmod +x /usr/local/bin/kind KIND_BIN="/usr/local/bin/kind" fi echo "Loading images into kind cluster..." for img in $(docker images --format "{{.Repository}}:{{.Tag}}" | grep "tidb-operator-e2e/.*:${IMAGE_TAG}$"); do "${KIND_BIN}" load docker-image "${img}" --name tidb-operator || { echo "Failed to load ${img} into kind"; exit 1; } done # Update kind node resources docker update tidb-operator-control-plane --memory-reservation=6G -c 8192 docker update tidb-operator-worker -m 16G --memory-swap 16G -c 4096 docker update tidb-operator-worker2 -m 16G --memory-swap 16G -c 4096 docker update tidb-operator-worker3 -m 16G --memory-swap 16G -c 4096 echo "Run tests..." export GINKGO_NO_COLOR=y export DELETE_NAMESPACE_ON_FAILURE=false export ARTIFACTS=/workspace/go/src/github.com/pingcap/tidb-operator/_artifacts mkdir -p ${ARTIFACTS} timeout 7200 env \ E2E=y \ SKIP_BUILD=y \ SKIP_IMAGE_BUILD=y \ SKIP_UP=y \ SKIP_DOWN=y \ SKIP_IMAGE_LOAD=y \ KUBECONFIG=/kubeconfig/admin.conf \ DOCKER_REPO=tidb-operator-e2e \ IMAGE_TAG=${IMAGE_TAG} \ KIND_DATA_HOSTPATH=/kind-data \ KIND_ETCD_DATADIR=/mnt/tmpfs/etcd \ DELETE_NAMESPACE_ON_FAILURE=false \ GINKGO_NO_COLOR=y \ GINKGO_NODES=3 \ ./hack/e2e.sh -- --ginkgo.focus='TiDBCluster' --ginkgo.skip="\[TiDBCluster:\sBasic\]" || { EXIT_CODE=$? if [ $EXIT_CODE -eq 124 ]; then echo "ERROR: Test execution timed out after 2 hours" else echo "ERROR: Test execution failed with exit code $EXIT_CODE" fi exit $EXIT_CODE } echo "Merging coverage files..." mkdir -p /tmp/coverage-merge cp /kind-data/control-plane/coverage/*.cov /tmp/coverage-merge/ 2>/dev/null || true cp /kind-data/worker1/coverage/*.cov /tmp/coverage-merge/ 2>/dev/null || true cp /kind-data/worker2/coverage/*.cov /tmp/coverage-merge/ 2>/dev/null || true cp /kind-data/worker3/coverage/*.cov /tmp/coverage-merge/ 2>/dev/null || true if [ -n "$(ls -A /tmp/coverage-merge/*.cov 2>/dev/null)" ]; then echo "Merging coverage files..." ./bin/gocovmerge /tmp/coverage-merge/*.cov > ${ARTIFACTS}/coverage.txt || true echo "Coverage merge completed" if [ -f ${ARTIFACTS}/coverage.txt ] && [ -n "${CODECOV_TOKEN:-}" ]; then echo "Uploading coverage to codecov..." GIT_COMMIT=$(git rev-parse HEAD) curl -fsSL https://codecov.io/bash -o /tmp/codecov.sh bash /tmp/codecov.sh -t ${CODECOV_TOKEN} -F e2e -n tidb-operator -f ${ARTIFACTS}/coverage.txt -C ${GIT_COMMIT} || true else echo "Skipping coverage upload (file not found or token not set)" fi else echo "No coverage files found, skipping merge and upload" fi echo "Test execution completed" command: - bash - -ce env: - name: ARTIFACTS value: /workspace/go/src/github.com/pingcap/tidb-operator/_artifacts - name: CODECOV_TOKEN valueFrom: secretKeyRef: key: pingcap-tidb-operator name: codecov-tokens image: ubuntu:22.04 name: e2e-runner resources: limits: cpu: "3" memory: 24Gi requests: cpu: "3" memory: 24Gi volumeMounts: - mountPath: /var/run name: docker-sock-dir - mountPath: /data name: data subPath: data - mountPath: /lib/modules name: modules readOnly: true - mountPath: /sys/fs/cgroup name: cgroup - mountPath: /kubeconfig name: kubeconfig - mountPath: /kind-data name: kind-data initContainers: - command: - /bin/sh - -c - dockerd-entrypoint.sh --cgroup-parent /kubepods.slice/kubepods-burstable.slice/kubepods-burstable-pod$(echo ${POD_UID} | tr - _).slice env: - name: DOCKER_TLS_CERTDIR - name: POD_UID valueFrom: fieldRef: fieldPath: metadata.uid image: docker:28.1-dind name: dind-daemon resources: limits: cpu: "16" memory: 64Gi requests: cpu: "16" memory: 64Gi restartPolicy: Always securityContext: privileged: true volumeMounts: - mountPath: /var/run name: docker-sock-dir - mountPath: /var/lib/docker name: data subPath: docker - mountPath: /lib/modules name: modules readOnly: true - mountPath: /sys/fs/cgroup name: cgroup - mountPath: /kubeconfig name: kubeconfig - mountPath: /kind-data name: kind-data volumes: - emptyDir: {} name: docker-sock-dir - ephemeral: volumeClaimTemplate: metadata: creationTimestamp: null spec: accessModes: - ReadWriteOnce resources: requests: storage: 250Gi storageClassName: standard-rwo name: data - hostPath: path: /lib/modules type: Directory name: modules - hostPath: path: /sys/fs/cgroup type: Directory name: cgroup - emptyDir: {} name: kubeconfig - emptyDir: {} name: kind-data prowjob_defaults: tenant_id: GlobalDefaultID refs: base_link: https://github.com/pingcap/tidb-operator/commit/865d12b270569d7602eb205952cec5a557d5344b base_ref: release-1.x base_sha: 865d12b270569d7602eb205952cec5a557d5344b org: pingcap pulls: - author: 3pointer author_link: https://github.com/3pointer commit_link: https://github.com/pingcap/tidb-operator/pull/6699/commits/6a416b04ea24e24a3c8978347664d0cf714bea56 head_ref: support_tici link: https://github.com/pingcap/tidb-operator/pull/6699 number: 6699 sha: 6a416b04ea24e24a3c8978347664d0cf714bea56 title: ' Add TiCI support to TidbCluster with TiFlash integration and example' repo: tidb-operator repo_link: https://github.com/pingcap/tidb-operator report: true rerun_command: /test pull-e2e-kind-tidbcluster type: presubmit status: build_id: "2021503384401481728" completionTime: "2026-02-11T08:39:17Z" description: Job failed. pendingTime: "2026-02-11T08:35:39Z" pod_name: cebb3525-2c3e-4b50-abdd-98c65c53c09f prev_report_states: gcsk8sreporter: failure gcsreporter: failure github-reporter: failure startTime: "2026-02-11T08:35:39Z" state: failure url: https://prow.tidb.net/view/gs/prow-tidb-logs/pr-logs/pull/pingcap_tidb-operator/6699/pull-e2e-kind-tidbcluster/2021503384401481728