Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track CSI VolumeGroupSnapshot implementation #6020

Open
blackpiglet opened this issue Mar 22, 2023 · 4 comments
Open

Track CSI VolumeGroupSnapshot implementation #6020

blackpiglet opened this issue Mar 22, 2023 · 4 comments
Assignees
Labels
backlog depends-upstream The issue/PR that has dependency on external or upstream projects kind/requirement Reviewed Q3 2023 VolumeGroupSnapshot

Comments

@blackpiglet
Copy link
Contributor

Describe the problem/challenge you have

VolumeGroupSnapshot is already added to CSI v1.8 spec, which will be released with k8s v1.27.
It will be an Alpha feature in v1.27, but because it's an out-of-tree implementation, it's will not be shipped with k8s v1.27 GA together.
It's still under development in the external-snapshotter repository:
https://github.com/kubernetes-csi/external-snapshotter/pulls?q=is%3Apr+is%3Aopen+%22Group+Snapshot+Controller%22

Describe the solution you'd like

Let's track its progress, and have a try in Velero when it's ready.

Anything else you would like to add:

Environment:

  • Velero version (use velero version):
  • Kubernetes version (use kubectl version):
  • Kubernetes installer & version:
  • Cloud provider or hardware configuration:
  • OS (e.g. from /etc/os-release):

Vote on this issue!

This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.

  • 👍 for "The project would be better with this feature added"
  • 👎 for "This feature will not enhance the project in a meaningful way"
@blackpiglet blackpiglet added depends-upstream The issue/PR that has dependency on external or upstream projects Community Community Issues and discussions labels Mar 22, 2023
@blackpiglet blackpiglet changed the title Trace CSI VolumeGroupSnapshot implementation Track CSI VolumeGroupSnapshot implementation Mar 22, 2023
@blackpiglet blackpiglet added VolumeGroupSnapshot and removed Community Community Issues and discussions labels Mar 22, 2023
@reasonerjt
Copy link
Contributor

Let's hold this till this is more mature in upstream.

@pradeepkchaturvedi pradeepkchaturvedi added the 1.13-candidate issue/pr that should be considered to target v1.13 minor release label Aug 4, 2023
@reasonerjt
Copy link
Contributor

Given this is till an alpha in upstream, I don't think we have to deliver any concrete output, we'll just keep an eye on it and start to implement it when it reaches a more mature level.

@reasonerjt reasonerjt self-assigned this Aug 16, 2023
@reasonerjt reasonerjt removed the 1.13-candidate issue/pr that should be considered to target v1.13 minor release label Sep 13, 2023
@kaovilai
Copy link
Contributor

Notes from @sseago

Basically the volumegroupsnapshot work is built on top of the phase 1 output (phase 2/parallel action isn't necessary/relevant). Once the ability to identify ItemBlocks is in place, on the backup side you'll need to modify the pod plugin to identify the items needed for the VolumeGroupSnapshot -- i.e. for the pod, list the PVCs, for each PVC, if it belongs to a volume group, list the other PVCs, for each of these other PVCs, identify the mounting pod (if any), all of these items belong to the ItemBlock and should be returned by the new GetAdditionalItems API call (as well as the normal Execute additional items list). That will make sure that hooks are handled properly for the associated pods. The rest of the backup work is probably on the pvc/csi plugin side. I'm guessing we'll want to modify the code which creates VolumeSnapshots and instead create a VolumeGroupSnapshot for volumes in a group (if it doesn't already exist, as created by the pvc plugin for another pvc in the group).

"ability to identify ItemBlocks" I believe is part of #7474

I would love to drive this feature for 1.15 release.

@sseago
Copy link
Collaborator

sseago commented Apr 11, 2024

@kaovilai Note that my comments above track what we'll need to do on the backup side. On restore, I haven't really thought through it yet. We'll definitely need CSI plugin/datamover changes. In terms of restore workflow, we'll need to dig in and investigate. Since we'll need to do something similar with restore pod hooks, we may well need to modify RIA in the same way and then make similar ItemGroup workflow modifications on restore (and, as above, ignoring the question of multithreading, we need item blocks for making sure pod hooks are handled appropriately, not for parallelism).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog depends-upstream The issue/PR that has dependency on external or upstream projects kind/requirement Reviewed Q3 2023 VolumeGroupSnapshot
Projects
None yet
Development

No branches or pull requests

5 participants