Skip to content

release-1.17: prepare v1.17.1 - #2741

Merged
kaaaaaaang merged 6 commits into
pingcap:release-1.17from
ekexium:release/v1.17.1-candidate
Sep 8, 2026
Merged

release-1.17: prepare v1.17.1#2741
kaaaaaaang merged 6 commits into
pingcap:release-1.17from
ekexium:release/v1.17.1-candidate

Conversation

@ekexium

@ekexium ekexium commented Sep 8, 2026

Copy link
Copy Markdown
Member

What problem does this PR solve?

Prepare release-1.17 for 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:

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

  • Cherry-picks applied without conflicts; git diff --check passes.
  • Tree is identical to the version candidate already validated with make tiup cluster lint, version/operation/task/spec tests, and static analysis of new issues.
  • All four GitHub Actions checks on release: bump version to v1.17.1 #2739 passed.
  • Release-branch PR CI.

After merging, publish v1.17.1 from the verified release-1.17 commit using the changelog. This PR does not publish the release.

Release notes:

Fix Grafana VictoriaMetrics datasource replacement, missing exporter metrics on dedicated TiDB Dashboard hosts, shared exporter deletion during cluster destroy, and concurrent TLS CA certificate copying.

Summary by CodeRabbit

  • Bug Fixes

    • Prevented dashboard datasource names from being duplicated during Grafana setup.
    • Included standalone TiDB Dashboard hosts in monitoring and health checks.
    • Preserved shared exporter services when configured to ignore exporter removal.
    • Improved concurrent TLS certificate distribution to prevent transfer corruption.
    • Made service status verification more reliable during scaling operations.
  • Documentation

    • Added the TiUP 1.17.1 changelog, including cluster monitoring, exporter, Grafana, and TLS fixes.
  • Maintenance

    • Updated the TiUP patch version to 1.17.1.

Defined2014 and others added 5 commits September 8, 2026 16:13
* 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)
Copilot AI lite review requested due to automatic review settings September 8, 2026 09:16
@ti-chi-bot
ti-chi-bot Bot requested review from breezewish and nexustar September 8, 2026 09:16
@ti-chi-bot

ti-chi-bot Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign xhebox for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot Bot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Sep 8, 2026
@codecov-commenter

codecov-commenter commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.61538% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 42.51%. Comparing base (9f6ebb7) to head (1fdf446).

Files with missing lines Patch % Lines
pkg/cluster/spec/monitoring.go 75.00% 1 Missing and 1 partial ⚠️
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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 664efaee-3bca-4239-b211-fda2fec8fbb9

📥 Commits

Reviewing files that changed from the base of the PR and between 9f6ebb7 and 87754bd.

📒 Files selected for processing (16)
  • .github/workflows/integrate-cluster-cmd.yaml
  • .github/workflows/integrate-cluster-scale.yaml
  • CHANGELOG.md
  • docker/node/Dockerfile
  • pkg/cluster/operation/destroy.go
  • pkg/cluster/operation/destroy_test.go
  • pkg/cluster/spec/grafana.go
  • pkg/cluster/spec/grafana_test.go
  • pkg/cluster/spec/monitoring.go
  • pkg/cluster/spec/monitoring_test.go
  • pkg/cluster/task/tls.go
  • pkg/cluster/task/tls_test.go
  • pkg/version/version.go
  • tests/tiup-cluster/script/scale_core.sh
  • tests/tiup-cluster/test_scale_core_tls.sh
  • tests/tiup-cluster/test_scale_tools.sh

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The changes update cluster destruction, Grafana datasource replacement, monitoring targets, concurrent TLS transfers, integration log collection, container tooling, release metadata, and scale test versions.

Changes

Cluster fixes and release updates

Layer / File(s) Summary
Integration, environment, and release updates
.github/workflows/*, docker/node/Dockerfile, tests/tiup-cluster/*, CHANGELOG.md, pkg/version/version.go
Workflows copy container logs locally and use matrix-specific artifact names. The node image, changelog, patch version, and scale test versions are updated.
Exporter-aware cluster destruction
pkg/cluster/operation/destroy.go, pkg/cluster/operation/destroy_test.go
Destruction skips monitored exporter cleanup when configured to ignore exporters. Tests cover cleanup commands and port checks.
Grafana datasource replacement
pkg/cluster/spec/grafana.go, pkg/cluster/spec/grafana_test.go
Cluster-name substitutions run before datasource substitutions. Tests verify datasource references without double suffixes.
Standalone dashboard monitoring targets
pkg/cluster/spec/monitoring.go, pkg/cluster/spec/monitoring_test.go
Dashboard hosts are added to node exporter and blackbox monitoring targets.
Concurrent TLS certificate transfers
pkg/cluster/task/tls.go, pkg/cluster/task/tls_test.go
TLS tasks use per-instance CA cache files. Concurrency tests verify complete certificate transfers.

Estimated code review effort: 4 (Complex) | ~45 minutes

Merge Risk: ⚪ Minimal · up to 1fdf4

The release fixes and integration updates have no remaining actionable merge-blocking issue.

Suggested reviewers: xhebox

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning 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: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the release branch and the primary change: preparing TiUP v1.17.1.
Description check ✅ Passed The description explains the release objective, lists the five cherry-picked commits, records validation results, states the release action, and includes release notes. It does not use the template's …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

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 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

A rabbit checks the logs at night
Each matrix case gets files just right
Grafana stars no suffix twice
TLS paths keep certificates nice
Exporters rest when flags say so
Fresh monitoring targets grow

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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 destroy honoring ignore_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.

@ti-chi-bot ti-chi-bot Bot added the lgtm label Sep 8, 2026
@ti-chi-bot

ti-chi-bot Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

[LGTM Timeline notifier]

Timeline:

  • 2026-09-08 11:53:13.987961211 +0000 UTC m=+1798629.159055303: ☑️ agreed by kaaaaaaang.

@kaaaaaaang
kaaaaaaang merged commit 6356558 into pingcap:release-1.17 Sep 8, 2026
23 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants