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

Move VolumeGroupSnapshot to GA #573

Merged

Conversation

xing-yang
Copy link
Contributor

What type of PR is this?
Feature

What this PR does / why we need it:
This PR moves Group Controller Service and VolumeGroupSnapshot capability to GA.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce an API-breaking change?:

Moves Group Controller Service and VolumeGroupSnapshot to GA.

Copy link

@nixpanic nixpanic left a comment

Choose a reason for hiding this comment

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

Yes please. Thanks! Ceph-CSI has support for this with the CephFS backend. Work is progressing well to support it with RBD too.

@bswartz
Copy link
Contributor

bswartz commented Oct 9, 2024

We have community feedback confirming that the alpha design for this feature is good to move to GA.

I've reviewed the contents of this PR and I believe all the correct alpha tags were removed.

I would like to see a regression test showing that this PR doesn't break an existing CSI driver -- ideally a driver that implements group snapshots. The hostpath CSI driver could do this.

@jdef
Copy link
Member

jdef commented Oct 9, 2024 via email

@yati1998
Copy link

Tested the PR, it seems to work as expected.
adding test results

diff --git a/go.mod b/go.mod
index 7be10017..c73b44b1 100644
--- a/go.mod
+++ b/go.mod
@@ -46,6 +46,8 @@ require (
        k8s.io/mount-utils v0.29.0 // indirect
 )
 
+replace github.com/container-storage-interface/spec => github.com/xing-yang/spec v0.1.1-0.20240930025405-14c3cd18aa08
+
 replace k8s.io/api => k8s.io/api v0.29.0
 
 replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.0
yati@dhcp53-199:~/csi-driver-host-path/examples$ kubectl create -f csi-groupsnapshot-v1alpha1.yaml 
volumegroupsnapshot.groupsnapshot.storage.k8s.io/new-groupsnapshot-demo created
yati@dhcp53-199:~/csi-driver-host-path/examples$ kubectl get volumegroupsnapshot -A
NAMESPACE   NAME                     READYTOUSE   VOLUMEGROUPSNAPSHOTCLASS      VOLUMEGROUPSNAPSHOTCONTENT                              CREATIONTIME   AGE
default     new-groupsnapshot-demo   true         csi-hostpath-groupsnapclass   groupsnapcontent-ce10d147-60ca-4071-8227-aef4093a1303   7s             7s
yati@dhcp53-199:~/csi-driver-host-path/examples$ kubectl get volumegroupsnapshotcontent -A
NAME                                                    READYTOUSE   DELETIONPOLICY   DRIVER                VOLUMEGROUPSNAPSHOTCLASS      VOLUMEGROUPSNAPSHOTNAMESPACE   VOLUMEGROUPSNAPSHOT      AGE
groupsnapcontent-ce10d147-60ca-4071-8227-aef4093a1303   true         Delete           hostpath.csi.k8s.io   csi-hostpath-groupsnapclass   default                        new-groupsnapshot-demo   19s
yati@dhcp53-199:~/csi-driver-host-path/examples$ kubectl get volumesnapshot
NAME                                                                                            READYTOUSE   SOURCEPVC   SOURCESNAPSHOTCONTENT                                                                              RESTORESIZE   SNAPSHOTCLASS   SNAPSHOTCONTENT                                                                                    CREATIONTIME   AGE
snapshot-05b8db6cc4dc9a44d03e348aebf45a319b34478d715a000e8b7f7b8ad79bb177-2024-10-18-12.52.56   true                     snapcontent-05b8db6cc4dc9a44d03e348aebf45a319b34478d715a000e8b7f7b8ad79bb177-2024-10-18-12.52.56   1Gi                           snapcontent-05b8db6cc4dc9a44d03e348aebf45a319b34478d715a000e8b7f7b8ad79bb177-2024-10-18-12.52.56   27s            27s
yati@dhcp53-199:~/csi-driver-host-path/examples$ kubectl get volumesnapshotcontent
NAME                                                                                               READYTOUSE   RESTORESIZE   DELETIONPOLICY   DRIVER                VOLUMESNAPSHOTCLASS   VOLUMESNAPSHOT                                                                                  VOLUMESNAPSHOTNAMESPACE   AGE
snapcontent-05b8db6cc4dc9a44d03e348aebf45a319b34478d715a000e8b7f7b8ad79bb177-2024-10-18-12.52.56   true         1073741824    Delete           hostpath.csi.k8s.io                         snapshot-05b8db6cc4dc9a44d03e348aebf45a319b34478d715a000e8b7f7b8ad79bb177-2024-10-18-12.52.56   default                   31s
yati@dhcp53-199:~/csi-driver-host-path/examples$ kubectl delete volumegroupsnapshot new-groupsnapshot-demo
volumegroupsnapshot.groupsnapshot.storage.k8s.io "new-groupsnapshot-demo" deleted

@xing-yang
Copy link
Contributor Author

Hi @bswartz, @yati1998 has posted the results of regression tests with CSI hostpath driver here: #573 (comment)

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.

6 participants