Skip to content

agent/csi,manager/csi: roll back client initialization on failure - #3254

Open
thaJeztah wants to merge 1 commit into
moby:masterfrom
thaJeztah:csi_rollback
Open

agent/csi,manager/csi: roll back client initialization on failure#3254
thaJeztah wants to merge 1 commit into
moby:masterfrom
thaJeztah:csi_rollback

Conversation

@thaJeztah

Copy link
Copy Markdown
Member

The CSI plugins publish their gRPC clients before initialization completes because init() uses the client accessors during capability discovery. If initialization fails, the plugin is left partially initialized and subsequent calls reuse stale clients instead of retrying initialization.

Close the gRPC connection and reset the published clients when init() fails so the plugin returns to its pre-connect state and a later attempt can retry cleanly.

- What I did

- How I did it

- How to test it

- Description for the changelog

@codecov-commenter

codecov-commenter commented Jul 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 25 lines in your changes missing coverage. Please review.
✅ Project coverage is 14.71%. Comparing base (5a92899) to head (ca9f01d).
⚠️ Report is 18 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3254      +/-   ##
==========================================
- Coverage   14.76%   14.71%   -0.06%     
==========================================
  Files         200      198       -2     
  Lines       93027    93050      +23     
==========================================
- Hits        13736    13689      -47     
- Misses      77961    78018      +57     
- Partials     1330     1343      +13     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

The CSI plugins publish their gRPC clients before initialization completes
because init() uses the client accessors during capability discovery. If
initialization fails, the plugin is left partially initialized and subsequent
calls reuse stale clients instead of retrying initialization.

Close the gRPC connection and reset the published clients when init() fails so
the plugin returns to its pre-connect state and a later attempt can retry
cleanly.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants