Files
sthuang 534b82bff9 test: add TiKV metastore deployment support for nightly Helm CI (#51561)
issue: #51562

This PR adds a QA-friendly deployment path for running Milvus nightly
Helm CI
with TiKV as the metastore backend.

What changed:
- Add `tests/_helm/values/nightly/tikv`, a reusable overlay that
switches
  Milvus persistent metadata to TiKV while keeping etcd enabled for
  discovery/session/lease/election paths.
- Add `tests/_helm/scripts/deploy-nightly-tikv.sh`, which provisions
release-scoped single-node PD/TiKV resources and then runs the existing
  `zilliztech/milvus` Helm chart with the TiKV overlay.
- Persist PD and TiKV `/data` directories with StatefulSet
  `volumeClaimTemplates`. The PVC templates inherit the TiKV
  name/instance/component labels used by the cleanup selector, use
  `TIKV_STORAGE_SIZE`, and render `storageClassName` only when
  `TIKV_STORAGE_CLASS` is set.
- Add PD startup/readiness probes, TiKV readiness probes, and a bounded
`pd-ctl store` wait so Milvus install starts only after PD reports an Up
  TiKV store.
- Add `ACTION=cleanup` for deleting the out-of-release PD/TiKV
StatefulSets,
  Services, and PVCs after the Milvus Helm release is uninstalled.

QA usage example:
```bash
RELEASE_NAME=nico-distwood \
NAMESPACE=jenkins-milvus-ci \
MILVUS_IMAGE_TAG=master-20260716-f662cec1 \
WOODPECKER_IMAGE_TAG=dev-204302e-82-all \
VALUES_FILE=tests/_helm/values/nightly/distributed-woodpecker \
tests/_helm/scripts/deploy-nightly-tikv.sh
```

Cleanup example:
```bash
helm uninstall nico-distwood -n jenkins-milvus-ci
NAMESPACE=jenkins-milvus-ci ACTION=cleanup RELEASE_NAME=nico-distwood \
tests/_helm/scripts/deploy-nightly-tikv.sh
```

Verification:
```bash
bash -n tests/_helm/scripts/deploy-nightly-tikv.sh
bash /tmp/verify-51561.sh
git diff --check -- tests/_helm/scripts/deploy-nightly-tikv.sh
```

Note: `shellcheck` was not installed in this workspace, so that optional
gate
was skipped locally.

---------

Signed-off-by: shaoting-huang <[email protected]>
2026-07-22 15:26:44 +08:00
..