Skip to content

feat: volume group snapshot support - #105

Open
MahanteshR12 wants to merge 20 commits into
IBM:masterfrom
MahanteshR12:feat-vgs
Open

MahanteshR12 wants to merge 20 commits into
IBM:masterfrom
MahanteshR12:feat-vgs

Conversation

@MahanteshR12

@MahanteshR12 MahanteshR12 commented Jun 23, 2026 •

Copy link
Copy Markdown
Contributor

Changes added/modified:

  • New VPC API client for Snapshot Consistency Groups — added Create, Delete, Get, GetByName, and List operations under common/vpcclient/vpcvolume/

  • New data models — added SnapshotConsistencyGroup, SnapshotConsistencyGroupRequest, GroupSnapshotTemplate, and related types in common/vpcclient/models/ to represent VPC API request/response payloads.

  • Provider-layer group snapshot operations — implemented CreateGroupSnapshot, DeleteGroupSnapshot, GetGroupSnapshot, and GetGroupSnapshotByName in block/provider/create_group_snapshot.go with retry logic and structured logging.

  • Converter & nil-safety fix — added FromProviderToLibGroupSnapshot in util.go to map VPC group snapshots to the generic library type; also nil-guarded SourceVolume in the existing FromProviderToLibSnapshot to prevent panics on incomplete snapshot responses.

  • Skip-retry error codes, infra updates & added user-facing error messages — added snapshot_consistency_groups_not_found and snapshots_too_many_requests to the retry-skip list; added 6 error codes

Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
1684f83 was merged via the GitHub UI and does not have a Signed-off-by
line. I, Mahantesh-R <mahantesh.r@ibm.com>, hereby declare that I have
the right to submit this commit under the same open source license.

Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>
BackupPolicyPlan *BackupPolicyPlanReference `json:"backup_policy_plan"`
}

type BackupPolicyPlanReference struct {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

remove backuppolicies related objects

Upgrade go-openapi/strfmt to v0.27.4 which replaces its mongo-driver/bson
import with an internal bsonlite package, severing the transitive dependency.

Upgraded:
- github.com/IBM/secret-common-lib        v1.1.15 -> v1.1.17
- github.com/IBM/secret-utils-lib         v1.1.16 -> v1.1.17
- github.com/IBM/go-sdk-core/v5           v5.17.4 -> v5.25.2
- github.com/go-openapi/strfmt            v0.22.1 -> v0.27.4
- github.com/go-openapi/errors            v0.21.0 -> v0.22.9
- github.com/go-playground/validator/v10  v10.28.0 -> v10.30.5
- github.com/hashicorp/go-retryablehttp   v0.7.7 -> v0.7.8

Removed:
- go.mongodb.org/mongo-driver (no longer needed)

Signed-off-by: Mahantesh-R <mahantesh.r@ibm.com>

This branch has not been deployed

No deployments
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.

1 participant