From 04f59ce003437269ae8dc9a9496d04df395f5863 Mon Sep 17 00:00:00 2001 From: Daniel Jiang Date: Thu, 31 Mar 2022 22:47:22 +0800 Subject: [PATCH] Bump up to v1 API for CSI snapshot Signed-off-by: Daniel Jiang --- changelogs/unreleased/4800-reasonerjt | 1 + go.mod | 2 +- go.sum | 4 +-- pkg/cmd/cli/backup/describe.go | 12 +++---- pkg/cmd/server/server.go | 34 ++++++++++---------- pkg/cmd/util/output/backup_describer.go | 8 ++--- pkg/controller/backup_controller.go | 20 ++++++------ pkg/controller/backup_deletion_controller.go | 10 +++--- pkg/controller/backup_sync_controller.go | 2 +- pkg/persistence/mocks/backup_store.go | 6 ++-- pkg/persistence/object_store.go | 14 ++++---- 11 files changed, 57 insertions(+), 56 deletions(-) create mode 100644 changelogs/unreleased/4800-reasonerjt diff --git a/changelogs/unreleased/4800-reasonerjt b/changelogs/unreleased/4800-reasonerjt new file mode 100644 index 000000000..c4b1922ce --- /dev/null +++ b/changelogs/unreleased/4800-reasonerjt @@ -0,0 +1 @@ +Bump up to v1 API for CSI snapshot \ No newline at end of file diff --git a/go.mod b/go.mod index fc39dd2b9..2c7517d35 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/hashicorp/go-hclog v0.12.0 github.com/hashicorp/go-plugin v0.0.0-20190610192547-a1bc61569a26 github.com/joho/godotenv v1.3.0 - github.com/kubernetes-csi/external-snapshotter/client/v4 v4.0.0 + github.com/kubernetes-csi/external-snapshotter/client/v4 v4.2.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.16.0 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index fcfe0b81a..5be785c5f 100644 --- a/go.sum +++ b/go.sum @@ -451,8 +451,8 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kubernetes-csi/external-snapshotter/client/v4 v4.0.0 h1:ipLtV9ubLEYx42YvwDa12eVPQvjuGZoPdbCozGzVNRc= -github.com/kubernetes-csi/external-snapshotter/client/v4 v4.0.0/go.mod h1:YBCo4DoEeDndqvAn6eeu0vWM7QdXmHEeI9cFWplmBys= +github.com/kubernetes-csi/external-snapshotter/client/v4 v4.2.0 h1:nHHjmvjitIiyPlUHk/ofpgvBcNcawJLtf4PYHORLjAA= +github.com/kubernetes-csi/external-snapshotter/client/v4 v4.2.0/go.mod h1:YBCo4DoEeDndqvAn6eeu0vWM7QdXmHEeI9cFWplmBys= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= diff --git a/pkg/cmd/cli/backup/describe.go b/pkg/cmd/cli/backup/describe.go index f266d6467..82ca47298 100644 --- a/pkg/cmd/cli/backup/describe.go +++ b/pkg/cmd/cli/backup/describe.go @@ -24,8 +24,8 @@ import ( "github.com/spf13/cobra" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - snapshotv1beta1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1beta1" - snapshotv1beta1client "github.com/kubernetes-csi/external-snapshotter/client/v4/clientset/versioned" + snapshotv1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1" + snapshotv1client "github.com/kubernetes-csi/external-snapshotter/client/v4/clientset/versioned" velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" pkgbackup "github.com/vmware-tanzu/velero/pkg/backup" @@ -86,17 +86,17 @@ func NewDescribeCommand(f client.Factory, use string) *cobra.Command { fmt.Fprintf(os.Stderr, "error getting PodVolumeBackups for backup %s: %v\n", backup.Name, err) } - var csiClient *snapshotv1beta1client.Clientset + var csiClient *snapshotv1client.Clientset // declare vscList up here since it may be empty and we'll pass the empty Items field into DescribeBackup - vscList := new(snapshotv1beta1api.VolumeSnapshotContentList) + vscList := new(snapshotv1api.VolumeSnapshotContentList) if features.IsEnabled(velerov1api.CSIFeatureFlag) { clientConfig, err := f.ClientConfig() cmd.CheckError(err) - csiClient, err = snapshotv1beta1client.NewForConfig(clientConfig) + csiClient, err = snapshotv1client.NewForConfig(clientConfig) cmd.CheckError(err) - vscList, err = csiClient.SnapshotV1beta1().VolumeSnapshotContents().List(context.TODO(), opts) + vscList, err = csiClient.SnapshotV1().VolumeSnapshotContents().List(context.TODO(), opts) if err != nil { fmt.Fprintf(os.Stderr, "error getting VolumeSnapshotContent objects for backup %s: %v\n", backup.Name, err) } diff --git a/pkg/cmd/server/server.go b/pkg/cmd/server/server.go index 5a00648c4..6e53d0dee 100644 --- a/pkg/cmd/server/server.go +++ b/pkg/cmd/server/server.go @@ -45,10 +45,10 @@ import ( "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" - snapshotv1beta1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1beta1" - snapshotv1beta1client "github.com/kubernetes-csi/external-snapshotter/client/v4/clientset/versioned" - snapshotv1beta1informers "github.com/kubernetes-csi/external-snapshotter/client/v4/informers/externalversions" - snapshotv1beta1listers "github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1beta1" + snapshotv1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1" + snapshotv1client "github.com/kubernetes-csi/external-snapshotter/client/v4/clientset/versioned" + snapshotv1informers "github.com/kubernetes-csi/external-snapshotter/client/v4/informers/externalversions" + snapshotv1listers "github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1" "github.com/vmware-tanzu/velero/internal/credentials" "github.com/vmware-tanzu/velero/pkg/backup" @@ -230,7 +230,7 @@ type server struct { dynamicClient dynamic.Interface sharedInformerFactory informers.SharedInformerFactory csiSnapshotterSharedInformerFactory *CSIInformerFactoryWrapper - csiSnapshotClient *snapshotv1beta1client.Clientset + csiSnapshotClient *snapshotv1client.Clientset ctx context.Context cancelFunc context.CancelFunc logger logrus.FieldLogger @@ -290,9 +290,9 @@ func newServer(f client.Factory, config serverConfig, logger *logrus.Logger) (*s return nil, err } - var csiSnapClient *snapshotv1beta1client.Clientset + var csiSnapClient *snapshotv1client.Clientset if features.IsEnabled(velerov1api.CSIFeatureFlag) { - csiSnapClient, err = snapshotv1beta1client.NewForConfig(clientConfig) + csiSnapClient, err = snapshotv1client.NewForConfig(clientConfig) if err != nil { cancelFunc() return nil, err @@ -535,27 +535,27 @@ func (s *server) initRestic() error { return nil } -func (s *server) getCSISnapshotListers() (snapshotv1beta1listers.VolumeSnapshotLister, snapshotv1beta1listers.VolumeSnapshotContentLister) { +func (s *server) getCSISnapshotListers() (snapshotv1listers.VolumeSnapshotLister, snapshotv1listers.VolumeSnapshotContentLister) { // Make empty listers that will only be populated if CSI is properly enabled. - var vsLister snapshotv1beta1listers.VolumeSnapshotLister - var vscLister snapshotv1beta1listers.VolumeSnapshotContentLister + var vsLister snapshotv1listers.VolumeSnapshotLister + var vscLister snapshotv1listers.VolumeSnapshotContentLister var err error // If CSI is enabled, check for the CSI groups and generate the listers // If CSI isn't enabled, return empty listers. if features.IsEnabled(velerov1api.CSIFeatureFlag) { - _, err = s.discoveryClient.ServerResourcesForGroupVersion(snapshotv1beta1api.SchemeGroupVersion.String()) + _, err = s.discoveryClient.ServerResourcesForGroupVersion(snapshotv1api.SchemeGroupVersion.String()) switch { case apierrors.IsNotFound(err): // CSI is enabled, but the required CRDs aren't installed, so halt. - s.logger.Fatalf("The '%s' feature flag was specified, but CSI API group [%s] was not found.", velerov1api.CSIFeatureFlag, snapshotv1beta1api.SchemeGroupVersion.String()) + s.logger.Fatalf("The '%s' feature flag was specified, but CSI API group [%s] was not found.", velerov1api.CSIFeatureFlag, snapshotv1api.SchemeGroupVersion.String()) case err == nil: // CSI is enabled, and the resources were found. // Instantiate the listers fully s.logger.Debug("Creating CSI listers") // Access the wrapped factory directly here since we've already done the feature flag check above to know it's safe. - vsLister = s.csiSnapshotterSharedInformerFactory.factory.Snapshot().V1beta1().VolumeSnapshots().Lister() - vscLister = s.csiSnapshotterSharedInformerFactory.factory.Snapshot().V1beta1().VolumeSnapshotContents().Lister() + vsLister = s.csiSnapshotterSharedInformerFactory.factory.Snapshot().V1().VolumeSnapshots().Lister() + vscLister = s.csiSnapshotterSharedInformerFactory.factory.Snapshot().V1().VolumeSnapshotContents().Lister() case err != nil: cmd.CheckError(err) } @@ -929,16 +929,16 @@ func (s *server) runProfiler() { // CSIInformerFactoryWrapper is a proxy around the CSI SharedInformerFactory that checks the CSI feature flag before performing operations. type CSIInformerFactoryWrapper struct { - factory snapshotv1beta1informers.SharedInformerFactory + factory snapshotv1informers.SharedInformerFactory } -func NewCSIInformerFactoryWrapper(c snapshotv1beta1client.Interface) *CSIInformerFactoryWrapper { +func NewCSIInformerFactoryWrapper(c snapshotv1client.Interface) *CSIInformerFactoryWrapper { // If no namespace is specified, all namespaces are watched. // This is desirable for VolumeSnapshots, as we want to query for all VolumeSnapshots across all namespaces using this informer w := &CSIInformerFactoryWrapper{} if features.IsEnabled(velerov1api.CSIFeatureFlag) { - w.factory = snapshotv1beta1informers.NewSharedInformerFactoryWithOptions(c, 0) + w.factory = snapshotv1informers.NewSharedInformerFactoryWithOptions(c, 0) } return w } diff --git a/pkg/cmd/util/output/backup_describer.go b/pkg/cmd/util/output/backup_describer.go index 86d686ba2..1ec092831 100644 --- a/pkg/cmd/util/output/backup_describer.go +++ b/pkg/cmd/util/output/backup_describer.go @@ -26,7 +26,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - snapshotv1beta1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1beta1" + snapshotv1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1" "github.com/fatih/color" kbclient "sigs.k8s.io/controller-runtime/pkg/client" @@ -45,7 +45,7 @@ func DescribeBackup( backup *velerov1api.Backup, deleteRequests []velerov1api.DeleteBackupRequest, podVolumeBackups []velerov1api.PodVolumeBackup, - volumeSnapshotContents []snapshotv1beta1api.VolumeSnapshotContent, + volumeSnapshotContents []snapshotv1api.VolumeSnapshotContent, details bool, veleroClient clientset.Interface, insecureSkipTLSVerify bool, @@ -513,7 +513,7 @@ func (v *volumesByPod) Sorted() []*podVolumeGroup { return v.volumesByPodSlice } -func DescribeCSIVolumeSnapshots(d *Describer, details bool, volumeSnapshotContents []snapshotv1beta1api.VolumeSnapshotContent) { +func DescribeCSIVolumeSnapshots(d *Describer, details bool, volumeSnapshotContents []snapshotv1api.VolumeSnapshotContent) { if !features.IsEnabled(velerov1api.CSIFeatureFlag) { return } @@ -535,7 +535,7 @@ func DescribeCSIVolumeSnapshots(d *Describer, details bool, volumeSnapshotConten } } -func DescribeVSC(d *Describer, details bool, vsc snapshotv1beta1api.VolumeSnapshotContent) { +func DescribeVSC(d *Describer, details bool, vsc snapshotv1api.VolumeSnapshotContent) { if vsc.Status == nil { d.Printf("Volume Snapshot Content %s cannot be described because its status is nil\n", vsc.Name) return diff --git a/pkg/controller/backup_controller.go b/pkg/controller/backup_controller.go index 6adfeeec7..2de400d60 100644 --- a/pkg/controller/backup_controller.go +++ b/pkg/controller/backup_controller.go @@ -38,8 +38,8 @@ import ( kerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/client-go/tools/cache" - snapshotv1beta1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1beta1" - snapshotv1beta1listers "github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1beta1" + snapshotv1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1" + snapshotv1listers "github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1" "github.com/vmware-tanzu/velero/internal/storage" velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" @@ -83,8 +83,8 @@ type backupController struct { metrics *metrics.ServerMetrics backupStoreGetter persistence.ObjectBackupStoreGetter formatFlag logging.Format - volumeSnapshotLister snapshotv1beta1listers.VolumeSnapshotLister - volumeSnapshotContentLister snapshotv1beta1listers.VolumeSnapshotContentLister + volumeSnapshotLister snapshotv1listers.VolumeSnapshotLister + volumeSnapshotContentLister snapshotv1listers.VolumeSnapshotContentLister } func NewBackupController( @@ -104,8 +104,8 @@ func NewBackupController( defaultSnapshotLocations map[string]string, metrics *metrics.ServerMetrics, formatFlag logging.Format, - volumeSnapshotLister snapshotv1beta1listers.VolumeSnapshotLister, - volumeSnapshotContentLister snapshotv1beta1listers.VolumeSnapshotContentLister, + volumeSnapshotLister snapshotv1listers.VolumeSnapshotLister, + volumeSnapshotContentLister snapshotv1listers.VolumeSnapshotContentLister, backupStoreGetter persistence.ObjectBackupStoreGetter, ) Interface { c := &backupController{ @@ -602,8 +602,8 @@ func (c *backupController) runBackup(backup *pkgbackup.Request) error { // Empty slices here so that they can be passed in to the persistBackup call later, regardless of whether or not CSI's enabled. // This way, we only make the Lister call if the feature flag's on. - var volumeSnapshots []*snapshotv1beta1api.VolumeSnapshot - var volumeSnapshotContents []*snapshotv1beta1api.VolumeSnapshotContent + var volumeSnapshots []*snapshotv1api.VolumeSnapshot + var volumeSnapshotContents []*snapshotv1api.VolumeSnapshotContent if features.IsEnabled(velerov1api.CSIFeatureFlag) { selector := label.NewSelectorForBackup(backup.Name) @@ -700,8 +700,8 @@ func persistBackup(backup *pkgbackup.Request, backupContents, backupLog *os.File, backupStore persistence.BackupStore, log logrus.FieldLogger, - csiVolumeSnapshots []*snapshotv1beta1api.VolumeSnapshot, - csiVolumeSnapshotContents []*snapshotv1beta1api.VolumeSnapshotContent, + csiVolumeSnapshots []*snapshotv1api.VolumeSnapshot, + csiVolumeSnapshotContents []*snapshotv1api.VolumeSnapshotContent, ) []error { persistErrs := []error{} backupJSON := new(bytes.Buffer) diff --git a/pkg/controller/backup_deletion_controller.go b/pkg/controller/backup_deletion_controller.go index 90707be70..2ca0fda47 100644 --- a/pkg/controller/backup_deletion_controller.go +++ b/pkg/controller/backup_deletion_controller.go @@ -24,7 +24,7 @@ import ( jsonpatch "github.com/evanphx/json-patch" snapshotterClientSet "github.com/kubernetes-csi/external-snapshotter/client/v4/clientset/versioned" - snapshotv1beta1listers "github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1beta1" + snapshotv1listers "github.com/kubernetes-csi/external-snapshotter/client/v4/listers/volumesnapshot/v1" "github.com/pkg/errors" "github.com/sirupsen/logrus" apierrors "k8s.io/apimachinery/pkg/api/errors" @@ -69,8 +69,8 @@ type backupDeletionController struct { podvolumeBackupLister velerov1listers.PodVolumeBackupLister kbClient client.Client snapshotLocationLister velerov1listers.VolumeSnapshotLocationLister - csiSnapshotLister snapshotv1beta1listers.VolumeSnapshotLister - csiSnapshotContentLister snapshotv1beta1listers.VolumeSnapshotContentLister + csiSnapshotLister snapshotv1listers.VolumeSnapshotLister + csiSnapshotContentLister snapshotv1listers.VolumeSnapshotContentLister csiSnapshotClient *snapshotterClientSet.Clientset processRequestFunc func(*velerov1api.DeleteBackupRequest) error clock clock.Clock @@ -93,8 +93,8 @@ func NewBackupDeletionController( podvolumeBackupLister velerov1listers.PodVolumeBackupLister, kbClient client.Client, snapshotLocationLister velerov1listers.VolumeSnapshotLocationLister, - csiSnapshotLister snapshotv1beta1listers.VolumeSnapshotLister, - csiSnapshotContentLister snapshotv1beta1listers.VolumeSnapshotContentLister, + csiSnapshotLister snapshotv1listers.VolumeSnapshotLister, + csiSnapshotContentLister snapshotv1listers.VolumeSnapshotContentLister, csiSnapshotClient *snapshotterClientSet.Clientset, newPluginManager func(logrus.FieldLogger) clientmgmt.Manager, backupStoreGetter persistence.ObjectBackupStoreGetter, diff --git a/pkg/controller/backup_sync_controller.go b/pkg/controller/backup_sync_controller.go index aeb848ac0..9107449cc 100644 --- a/pkg/controller/backup_sync_controller.go +++ b/pkg/controller/backup_sync_controller.go @@ -294,7 +294,7 @@ func (c *backupSyncController) run() { for _, snapCont := range snapConts { // TODO: Reset ResourceVersion prior to persisting VolumeSnapshotContents snapCont.ResourceVersion = "" - created, err := c.csiSnapshotClient.SnapshotV1beta1().VolumeSnapshotContents().Create(context.TODO(), snapCont, metav1.CreateOptions{}) + created, err := c.csiSnapshotClient.SnapshotV1().VolumeSnapshotContents().Create(context.TODO(), snapCont, metav1.CreateOptions{}) switch { case err != nil && kuberrs.IsAlreadyExists(err): log.Debugf("volumesnapshotcontent %s already exists in cluster", snapCont.Name) diff --git a/pkg/persistence/mocks/backup_store.go b/pkg/persistence/mocks/backup_store.go index b41125e56..9a6eefacf 100644 --- a/pkg/persistence/mocks/backup_store.go +++ b/pkg/persistence/mocks/backup_store.go @@ -21,7 +21,7 @@ import ( mock "github.com/stretchr/testify/mock" - snapshotv1beta1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1beta1" + snapshotv1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" persistence "github.com/vmware-tanzu/velero/pkg/persistence" @@ -274,12 +274,12 @@ func (_m *BackupStore) PutRestoreResults(backup string, restore string, results return r0 } -func (_m *BackupStore) GetCSIVolumeSnapshots(backup string) ([]*snapshotv1beta1api.VolumeSnapshot, error) { +func (_m *BackupStore) GetCSIVolumeSnapshots(backup string) ([]*snapshotv1api.VolumeSnapshot, error) { panic("Not implemented") return nil, nil } -func (_m *BackupStore) GetCSIVolumeSnapshotContents(backup string) ([]*snapshotv1beta1api.VolumeSnapshotContent, error) { +func (_m *BackupStore) GetCSIVolumeSnapshotContents(backup string) ([]*snapshotv1api.VolumeSnapshotContent, error) { panic("Not implemented") return nil, nil } diff --git a/pkg/persistence/object_store.go b/pkg/persistence/object_store.go index 744f2baaa..b60b9491b 100644 --- a/pkg/persistence/object_store.go +++ b/pkg/persistence/object_store.go @@ -24,7 +24,7 @@ import ( "strings" "time" - snapshotv1beta1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1beta1" + snapshotv1api "github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1" "github.com/pkg/errors" "github.com/sirupsen/logrus" @@ -63,8 +63,8 @@ type BackupStore interface { GetBackupVolumeSnapshots(name string) ([]*volume.Snapshot, error) GetPodVolumeBackups(name string) ([]*velerov1api.PodVolumeBackup, error) GetBackupContents(name string) (io.ReadCloser, error) - GetCSIVolumeSnapshots(name string) ([]*snapshotv1beta1api.VolumeSnapshot, error) - GetCSIVolumeSnapshotContents(name string) ([]*snapshotv1beta1api.VolumeSnapshotContent, error) + GetCSIVolumeSnapshots(name string) ([]*snapshotv1api.VolumeSnapshot, error) + GetCSIVolumeSnapshotContents(name string) ([]*snapshotv1api.VolumeSnapshotContent, error) // BackupExists checks if the backup metadata file exists in object storage. BackupExists(bucket, backupName string) (bool, error) @@ -371,7 +371,7 @@ func decode(jsongzReader io.Reader, into interface{}) error { return nil } -func (s *objectBackupStore) GetCSIVolumeSnapshots(name string) ([]*snapshotv1beta1api.VolumeSnapshot, error) { +func (s *objectBackupStore) GetCSIVolumeSnapshots(name string) ([]*snapshotv1api.VolumeSnapshot, error) { res, err := tryGet(s.objectStore, s.bucket, s.layout.getCSIVolumeSnapshotKey(name)) if err != nil { return nil, err @@ -382,14 +382,14 @@ func (s *objectBackupStore) GetCSIVolumeSnapshots(name string) ([]*snapshotv1bet } defer res.Close() - var csiSnaps []*snapshotv1beta1api.VolumeSnapshot + var csiSnaps []*snapshotv1api.VolumeSnapshot if err := decode(res, &csiSnaps); err != nil { return nil, err } return csiSnaps, nil } -func (s *objectBackupStore) GetCSIVolumeSnapshotContents(name string) ([]*snapshotv1beta1api.VolumeSnapshotContent, error) { +func (s *objectBackupStore) GetCSIVolumeSnapshotContents(name string) ([]*snapshotv1api.VolumeSnapshotContent, error) { res, err := tryGet(s.objectStore, s.bucket, s.layout.getCSIVolumeSnapshotContentsKey(name)) if err != nil { return nil, err @@ -400,7 +400,7 @@ func (s *objectBackupStore) GetCSIVolumeSnapshotContents(name string) ([]*snapsh } defer res.Close() - var snapConts []*snapshotv1beta1api.VolumeSnapshotContent + var snapConts []*snapshotv1api.VolumeSnapshotContent if err := decode(res, &snapConts); err != nil { return nil, err }