release-1.17: prepare v1.17.1 - #2741
Conversation
(cherry picked from commit 17b30ee)
* ci: migrate integration test nodes to Debian Bookworm Remove the unused JRE 11 dependency, declare the systemd and process-management tools needed by node tests, and use systemctl is-enabled instead of distro-specific status output. Signed-off-by: Ziqian Qin <eke@fastmail.com> * ci: export cluster failure logs from the control container Copy collected node logs to the runner before detection and upload, and retain separate artifacts for each matrix case. This makes the runtime failures exposed by the Bookworm migration diagnosable. Signed-off-by: Ziqian Qin <eke@fastmail.com> * ci: bump Bookworm scale tests off TiDB v4.0.12 TiFlash v4.0.12 cannot load on glibc 2.36 (GLIBC_PRIVATE in libpthread). The v4.0.12 TLS start path also hits empty-CA transfers more readily. Use versions already green on this PR: v6.2.0 for tools, v6.0.0 for core TLS. Signed-off-by: Ziqian Qin <eke@fastmail.com> * cluster: copy TLS CA from a per-instance cache file Parallel TLSCert tasks shared cache/ca.crt and could SCP a truncated file (pingcap#2727). Native-SSH rename on this Bookworm PR hits that race. Give each instance its own CA cache path, matching key/cert files. Remote dest remains ca.crt. Signed-off-by: Ziqian Qin <eke@fastmail.com> --------- Signed-off-by: Ziqian Qin <eke@fastmail.com> (cherry picked from commit 6f9f329)
* cluster: honor ignore_exporter when destroying a cluster Adapt the final fix from pingcap#2197 to current master. The original implementation and review update are in commits 4e06282 and 8025e3a. Signed-off-by: Smityz <smityz@qq.com> Signed-off-by: Ziqian Qin <eke@fastmail.com> * cluster: test exporter preservation during destroy Cover shared and managed exporters, multiple instances per host, and force destroy. Verify exporter directories, systemd units, and port checks while keeping cleanup of cluster-owned components intact. Signed-off-by: Ziqian Qin <eke@fastmail.com> --------- Signed-off-by: Smityz <smityz@qq.com> Signed-off-by: Ziqian Qin <eke@fastmail.com> Co-authored-by: Smityz <smityz@qq.com> (cherry picked from commit c00f987)
(cherry picked from commit f965165)
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## release-1.17 #2741 +/- ##
================================================
+ Coverage 42.43% 42.51% +0.08%
================================================
Files 426 426
Lines 47364 47373 +9
================================================
+ Hits 20096 20137 +41
+ Misses 24570 24524 -46
- Partials 2698 2712 +14 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (16)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe changes update cluster destruction, Grafana datasource replacement, monitoring targets, concurrent TLS transfers, integration log collection, container tooling, release metadata, and scale test versions. ChangesCluster fixes and release updates
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to The release fixes and integration updates have no remaining actionable merge-blocking issue. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 37.50% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 12 files. (4 skipped: 4 unsupported.) ✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit checks the logs at night Comment |
There was a problem hiding this comment.
🟢 Approval recommended
Review found the cherry-picked fixes and accompanying tests/CI updates to be coherent and consistent with the stated v1.17.1 release preparation scope.
Pull request overview
Prepares the release-1.17 branch for TiUP v1.17.1 by cherry-picking the set of fixes already validated on master, including the version bump and changelog entry. The changes touch cluster lifecycle behavior, monitoring config generation, TLS certificate distribution, CI/container environment, and related test coverage.
Changes:
- Bump TiUP patch version to 1.17.1 and add the v1.17.1 changelog entry.
- Fix/adjust cluster behaviors: Grafana VM datasource replacement ordering, Prometheus scrape targets for standalone Dashboard hosts, concurrent TLS CA caching, and
destroyhonoringignore_exporter. - Update CI/container environment (Bookworm/systemd) and integration/scale tests accordingly, plus add targeted unit tests.
File summaries
| File | Description |
|---|---|
| tests/tiup-cluster/test_scale_tools.sh | Updates tools scale test to run against v6.2.0. |
| tests/tiup-cluster/test_scale_core_tls.sh | Updates core TLS scale test to run against v6.0.0. |
| tests/tiup-cluster/script/scale_core.sh | Uses systemctl is-enabled --quiet to assert service enablement post scale-out. |
| pkg/version/version.go | Bumps patch version from 0 to 1 (v1.17.1). |
| pkg/cluster/task/tls.go | Uses per-instance CA cache filename to avoid concurrent truncation during SCP. |
| pkg/cluster/task/tls_test.go | Adds regression test ensuring concurrent TLSCert tasks don’t corrupt in-flight CA transfers. |
| pkg/cluster/spec/monitoring.go | Adds DashboardServers hosts into Prometheus scrape target generation via helper to reduce complexity. |
| pkg/cluster/spec/monitoring_test.go | Adds unit test asserting standalone dashboard hosts appear in node_exporter/blackbox targets. |
| pkg/cluster/spec/grafana.go | Reorders dashboard placeholder replacements to prevent double-rewriting datasource names like *-vm. |
| pkg/cluster/spec/grafana_test.go | Extends test to verify all dashboard/datasource references use the intended VM datasource name without -vm-vm. |
| pkg/cluster/operation/destroy.go | Skips monitored exporter cleanup when IgnoreMonitorAgent() is set (honors ignore_exporter). |
| pkg/cluster/operation/destroy_test.go | Adds tests validating destroy preserves shared exporters when ignore_exporter: true. |
| docker/node/Dockerfile | Migrates node image to golang:1.24-bookworm and installs systemd/psmisc for CI needs. |
| CHANGELOG.md | Adds v1.17.1 release notes entry dated 2026-09-08. |
| .github/workflows/integrate-cluster-scale.yaml | Copies cluster logs out of the control container and uploads per-matrix artifacts. |
| .github/workflows/integrate-cluster-cmd.yaml | Copies component logs out of the control container and uploads per-matrix artifacts. |
Review details
- Files reviewed: 16/16 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
[LGTM Timeline notifier]Timeline:
|
What problem does this PR solve?
Prepare
release-1.17for TiUP v1.17.1. The version PR #2739 has merged into master, while this release branch still contains v1.17.0.What is changed and how it works?
Cherry-pick all five release commits:
ignore_exporter: true.The version commit was cherry-picked from the original #2739 head before its squash merge. The complete resulting source tree is identical to master at
db3e7fe19c3a69f3249fc70ae765274322744a8d; no additional changes are included.Check List
git diff --checkpasses.make tiup cluster lint, version/operation/task/spec tests, and static analysis of new issues.After merging, publish v1.17.1 from the verified
release-1.17commit using the changelog. This PR does not publish the release.Release notes:
Summary by CodeRabbit
Bug Fixes
Documentation
Maintenance