Skip to content

replication: replace deprecated volume_id with reserved field - #86

Merged
mergify[bot] merged 1 commit into
csi-addons:mainfrom
santhoshatdell:pvt/volume-id-reserved
Jul 14, 2026
Merged

replication: replace deprecated volume_id with reserved field#86
mergify[bot] merged 1 commit into
csi-addons:mainfrom
santhoshatdell:pvt/volume-id-reserved

Conversation

@santhoshatdell

@santhoshatdell santhoshatdell commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

The volume_id field (field number 1) in all replication request messages was deprecated in favor of replication_source. Replace the deprecated field declaration with reserved 1 to fully remove it from the generated Go code.

This prevents validation middleware (e.g. gocsi spec validator) from rejecting replication RPCs due to an empty volume_id field, which is the expected state when using the newer replication_source field.

Fixes: #85

  • Proto compilation — already verified: make in replication/ succeeds and regenerates all files
  • Generated code — verified: GetVolumeId() is absent from all 6 request types in the generated .pb.go
  • Wire compatibility — no breaking change; reserved 1 is the standard protobuf pattern for safe field removal
  • Downstream validation — kubernetes-csi-addons internal proto already uses the same pattern (reserved 1; // Deprecated "volume_id")

@mergify mergify Bot added the design Adds or updates an operation or service label Jul 10, 2026
@santhoshatdell
santhoshatdell force-pushed the pvt/volume-id-reserved branch from 69ac7aa to e0eb841 Compare July 10, 2026 19:54
Madhu-1
Madhu-1 previously approved these changes Jul 13, 2026

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.

Pull request overview

This PR finalizes removal of the deprecated volume_id field (tag 1) from all replication request messages by replacing it with reserved 1, ensuring the generated Go types no longer expose GetVolumeId() and avoiding downstream validators rejecting requests that intentionally rely on replication_source.

Changes:

  • Replaced deprecated volume_id = 1 with reserved 1 across all replication request messages in replication.proto.
  • Updated the replication README’s protobuf snippets to match the updated message definitions.
  • Regenerated Go protobuf output so the request types no longer include VolumeId fields / GetVolumeId() getters.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 12 comments.

File Description
replication/replication.proto Removes deprecated volume_id fields from replication request messages via reserved 1.
replication/README.md Updates documented protobuf message definitions to match the proto changes.
lib/go/replication/replication.pb.go Regenerated Go protobuf output reflecting the field removals (request structs no longer have GetVolumeId()).
Files not reviewed (1)
  • lib/go/replication/replication.pb.go: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread replication/replication.proto
Comment thread replication/replication.proto
Comment thread replication/replication.proto
Comment thread replication/replication.proto
Comment thread replication/replication.proto
Comment thread replication/README.md
Comment thread replication/README.md
Comment thread replication/README.md
Comment thread replication/README.md
Comment thread replication/README.md
The volume_id field (field number 1) in all replication request
messages was deprecated in favor of replication_source. Replace
the deprecated field declaration with `reserved 1` to fully remove
it from the generated Go code.

This prevents validation middleware (e.g. gocsi spec validator) from
rejecting replication RPCs due to an empty volume_id field, which
is the expected state when using the newer replication_source field.

Fixes: #85
Signed-off-by: Santhosh Lakshmanan <Santhosh.Lakshmanan@dell.com>
@santhoshatdell
santhoshatdell force-pushed the pvt/volume-id-reserved branch from e0eb841 to e865290 Compare July 13, 2026 18:00
@mergify
mergify Bot dismissed Madhu-1’s stale review July 13, 2026 18:01

Pull request has been modified.

@santhoshatdell
santhoshatdell requested a review from Madhu-1 July 13, 2026 18:02

@Rakshith-R Rakshith-R left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks

@mergify mergify Bot added the queued label Jul 14, 2026
@mergify

mergify Bot commented Jul 14, 2026

Copy link
Copy Markdown

Merge Queue Status

  • Entered queue2026-07-14 06:10 UTC · Rule: default · triggered by rule design changes needs approval from at least one core maintainer
  • Checks passed · on draft merge queue: checking main (c025479) and #86 together #87
  • Merged2026-07-14 06:13 UTC · at e865290f16ce1bfa7367ea565e673b30242cec64 · rebase

This pull request spent 2 minutes 52 seconds in the queue, including 2 minutes 35 seconds running CI.

Required conditions to merge

mergify Bot added a commit that referenced this pull request Jul 14, 2026
@mergify
mergify Bot merged commit 80d74f9 into csi-addons:main Jul 14, 2026
6 checks passed
@mergify mergify Bot removed the queued label Jul 14, 2026
@santhoshatdell
santhoshatdell deleted the pvt/volume-id-reserved branch July 14, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design Adds or updates an operation or service

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove deprecated volume_id field from replication request messages

4 participants