diff --git a/changelogs/unreleased/9807-Lyndon-Li b/changelogs/unreleased/9807-Lyndon-Li new file mode 100644 index 000000000..58df214f7 --- /dev/null +++ b/changelogs/unreleased/9807-Lyndon-Li @@ -0,0 +1 @@ +Uploader interface for block data mover \ No newline at end of file diff --git a/pkg/podvolume/backupper_test.go b/pkg/podvolume/backupper_test.go index fba789664..e6042ede1 100644 --- a/pkg/podvolume/backupper_test.go +++ b/pkg/podvolume/backupper_test.go @@ -396,7 +396,7 @@ func TestBackupPodVolumes(t *testing.T) { }, uploaderType: "fake-uploader-type", errs: []string{ - "invalid uploader type 'fake-uploader-type', valid type: 'kopia'", + "invalid uploader type 'fake-uploader-type', valid types: 'kopia', 'velero-block'", }, }, { diff --git a/pkg/uploader/provider/block.go b/pkg/uploader/provider/block.go index c38387744..b1eed428a 100644 --- a/pkg/uploader/provider/block.go +++ b/pkg/uploader/provider/block.go @@ -22,6 +22,7 @@ import ( "github.com/pkg/errors" "github.com/sirupsen/logrus" + "github.com/vmware-tanzu/velero/internal/credentials" velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" repokeys "github.com/vmware-tanzu/velero/pkg/repository/keys" @@ -34,7 +35,6 @@ type blockProvider struct { bkRepo udmrepo.BackupRepo credGetter *credentials.CredentialGetter log logrus.FieldLogger - canceling int32 } // NewBlockUploaderProvider initialized with open or create a repository @@ -100,8 +100,7 @@ func (bp *blockProvider) RunBackup( volMode uploader.PersistentVolumeMode, uploaderCfg map[string]string, updater uploader.ProgressUpdater) (string, bool, int64, int64, error) { - - return "", false, 0, 0, nil + return "", false, 0, 0, errors.New("block backup not implemented") } // TODO: implement in the following PRs @@ -112,5 +111,5 @@ func (bp *blockProvider) RunRestore( volMode uploader.PersistentVolumeMode, uploaderCfg map[string]string, updater uploader.ProgressUpdater) (int64, error) { - return 0, nil + return 0, errors.New("block restore not implemented") } diff --git a/pkg/uploader/provider/block_test.go b/pkg/uploader/provider/block_test.go index 3584e35f1..a48b0a862 100644 --- a/pkg/uploader/provider/block_test.go +++ b/pkg/uploader/provider/block_test.go @@ -121,7 +121,7 @@ func TestBlockProviderClose(t *testing.T) { } err := bp.Close(t.Context()) - assert.NoError(t, err) + require.NoError(t, err) mockBRepo.AssertExpectations(t) } diff --git a/pkg/uploader/types.go b/pkg/uploader/types.go index cc3321012..12ff1dc52 100644 --- a/pkg/uploader/types.go +++ b/pkg/uploader/types.go @@ -42,7 +42,7 @@ const ( func ValidateUploaderType(t string) (string, error) { t = strings.TrimSpace(t) if t != KopiaType && t != BlockType { - return "", fmt.Errorf("invalid uploader type '%s', valid type: '%s'", t, KopiaType) + return "", fmt.Errorf("invalid uploader type '%s', valid types: '%s', '%s'", t, KopiaType, BlockType) } return "", nil diff --git a/pkg/uploader/types_test.go b/pkg/uploader/types_test.go index dcdedcd62..0ae93d912 100644 --- a/pkg/uploader/types_test.go +++ b/pkg/uploader/types_test.go @@ -23,7 +23,7 @@ func TestValidateUploaderType(t *testing.T) { { "'anything_else' is invalid", "anything_else", - "invalid uploader type 'anything_else', valid type: 'kopia'", + "invalid uploader type 'anything_else', valid types: 'kopia', 'velero-block'", "", }, }