Skip to content

chore(dataprotection): leave PVC bound status to Kubernetes - #10780

Merged
leon-ape merged 2 commits into
mainfrom
bugfix/10755-stop-sync-pvc-bound-status
Aug 14, 2026
Merged

chore(dataprotection): leave PVC bound status to Kubernetes#10780
leon-ape merged 2 commits into
mainfrom
bugfix/10755-stop-sync-pvc-bound-status

Conversation

@leon-ape

Copy link
Copy Markdown
Collaborator

Related to #10755.

Follow-up to #10337.

Problem

VolumePopulator mirrors a rebound PV into the target PVC status by setting status.phase=Bound, capacity, and access modes. Kubernetes' PV controller already owns those status fields, and the scheduler's fully-bound contract is based on spec.volumeName plus pv.kubernetes.io/bind-completed, not PVC phase.

Keeping a second status writer duplicates the PV controller and can race with its status updates.

Changes

  • remove the VolumePopulator PVC Bound status synchronization call
  • remove the helper functions used only by that synchronization
  • keep KubeBlocks-owned Populating and Restore conditions unchanged
  • assert that release/postReady processing does not change a Pending PVC's phase, capacity, or access modes even when the PV is already Bound and its ClaimRef matches

Scope

This PR does not change PV/PVC rebind behavior, helper cleanup, postReady behavior, or the binding-complete predicate introduced separately by #10779. Kubernetes remains responsible for converging the target PVC status after binding.

Tests

@leon-ape leon-ape added the nopick Not auto cherry-pick when PR merged label Aug 14, 2026
@github-actions github-actions Bot added the size/M Denotes a PR that changes 30-99 lines. label Aug 14, 2026
@apecloud-bot

Copy link
Copy Markdown
Collaborator

Auto Cherry-pick Instructions

Usage:
  - /nopick: Not auto cherry-pick when PR merged.
  - /pick: release-x.x [release-x.x]: Auto cherry-pick to the specified branch when PR merged.

Example:
  - /nopick
  - /pick release-1.1

CLA Recheck Instructions

Usage:
  - /recheck-cla: Trigger a re-check of CLA status for this pull request.
Example:
  - /recheck-cla

@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.94%. Comparing base (3ebf861) to head (b4c6ecf).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10780      +/-   ##
==========================================
+ Coverage   64.85%   64.94%   +0.09%     
==========================================
  Files         506      506              
  Lines       63316    63300      -16     
==========================================
+ Hits        41062    41111      +49     
+ Misses      18611    18564      -47     
+ Partials     3643     3625      -18     
Flag Coverage Δ
unittests 64.94% <ø> (+0.09%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

@leon-ape leon-ape changed the title fix(dataprotection): leave PVC bound status to Kubernetes chore(dataprotection): leave PVC bound status to Kubernetes Aug 14, 2026
…c-pvc-bound-status

# Conflicts:
#	controllers/dataprotection/volumepopulator_controller.go
#	controllers/dataprotection/volumepopulator_controller_test.go
@leon-ape

Copy link
Copy Markdown
Collaborator Author

/approve

@apecloud-bot apecloud-bot added the approved PR Approved Test label Aug 14, 2026
@leon-ape
leon-ape merged commit 06a6945 into main Aug 14, 2026
67 of 73 checks passed
@leon-ape
leon-ape deleted the bugfix/10755-stop-sync-pvc-bound-status branch August 14, 2026 07:45
@github-actions github-actions Bot added this to the Release 1.2.0 milestone Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved PR Approved Test nopick Not auto cherry-pick when PR merged size/M Denotes a PR that changes 30-99 lines.

Projects

None yet

2 participants