mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-01-05 04:55:22 +00:00
Merge pull request #9069 from Lyndon-Li/issue-fix-8813
Some checks failed
Run the E2E test on kind / build (push) Failing after 7m21s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 38s
Close stale issues and PRs / stale (push) Successful in 18s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m45s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m32s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 1m25s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m39s
Some checks failed
Run the E2E test on kind / build (push) Failing after 7m21s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 38s
Close stale issues and PRs / stale (push) Successful in 18s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m45s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m32s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 1m25s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m39s
Issue 8813: remove restic from the valid uploader type
This commit is contained in:
1
changelogs/unreleased/9069-Lyndon-Li
Normal file
1
changelogs/unreleased/9069-Lyndon-Li
Normal file
@@ -0,0 +1 @@
|
||||
Fix issue #8813, remove restic from the valid uploader type
|
||||
@@ -130,7 +130,7 @@ func (o *Options) BindFlags(flags *pflag.FlagSet) {
|
||||
flags.StringVar(&o.CACertFile, "cacert", o.CACertFile, "File containing a certificate bundle to use when verifying TLS connections to the object store. Optional.")
|
||||
flags.StringVar(&o.Features, "features", o.Features, "Comma separated list of Velero feature flags to be set on the Velero deployment and the node-agent daemonset, if node-agent is enabled")
|
||||
flags.BoolVar(&o.DefaultVolumesToFsBackup, "default-volumes-to-fs-backup", o.DefaultVolumesToFsBackup, "Bool flag to configure Velero server to use pod volume file system backup by default for all volumes on all backups. Optional.")
|
||||
flags.StringVar(&o.UploaderType, "uploader-type", o.UploaderType, fmt.Sprintf("The type of uploader to transfer the data of pod volumes, the supported values are '%s', '%s'", uploader.ResticType, uploader.KopiaType))
|
||||
flags.StringVar(&o.UploaderType, "uploader-type", o.UploaderType, fmt.Sprintf("The type of uploader to transfer the data of pod volumes, supported value: '%s'", uploader.KopiaType))
|
||||
flags.BoolVar(&o.DefaultSnapshotMoveData, "default-snapshot-move-data", o.DefaultSnapshotMoveData, "Bool flag to configure Velero server to move data by default for all snapshots supporting data movement. Optional.")
|
||||
flags.BoolVar(&o.DisableInformerCache, "disable-informer-cache", o.DisableInformerCache, "Disable informer cache for Get calls on restore. With this enabled, it will speed up restore in cases where there are backup resources which already exist in the cluster, but for very large clusters this will increase velero memory usage. Default is false (don't disable). Optional.")
|
||||
flags.BoolVar(&o.ScheduleSkipImmediately, "schedule-skip-immediately", o.ScheduleSkipImmediately, "Skip the first scheduled backup immediately after creating a schedule. Default is false (don't skip).")
|
||||
|
||||
@@ -207,7 +207,7 @@ func GetDefaultConfig() *Config {
|
||||
LogLevel: logging.LogLevelFlag(logrus.InfoLevel),
|
||||
LogFormat: logging.NewFormatFlag(),
|
||||
DefaultVolumesToFsBackup: podvolumeconfigs.DefaultVolumesToFsBackup,
|
||||
UploaderType: uploader.ResticType,
|
||||
UploaderType: uploader.KopiaType,
|
||||
MaxConcurrentK8SConnections: defaultMaxConcurrentK8SConnections,
|
||||
DefaultSnapshotMoveData: false,
|
||||
DisableInformerCache: defaultDisableInformerCache,
|
||||
|
||||
@@ -588,6 +588,11 @@ func (r *PodVolumeBackupReconciler) OnDataPathProgress(ctx context.Context, name
|
||||
func (r *PodVolumeBackupReconciler) SetupWithManager(mgr ctrl.Manager) error {
|
||||
gp := kube.NewGenericEventPredicate(func(object client.Object) bool {
|
||||
pvb := object.(*velerov1api.PodVolumeBackup)
|
||||
|
||||
if _, err := uploader.ValidateUploaderType(pvb.Spec.UploaderType); err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
if pvb.Status.Phase == velerov1api.PodVolumeBackupPhaseAccepted {
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -343,7 +343,7 @@ func TestBackupPodVolumes(t *testing.T) {
|
||||
},
|
||||
uploaderType: "fake-uploader-type",
|
||||
errs: []string{
|
||||
"invalid uploader type 'fake-uploader-type', valid upload types are: 'restic', 'kopia'",
|
||||
"invalid uploader type 'fake-uploader-type', valid type: 'kopia'",
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -41,12 +41,8 @@ const (
|
||||
// It will return an error if it's invalid.
|
||||
func ValidateUploaderType(t string) (string, error) {
|
||||
t = strings.TrimSpace(t)
|
||||
if t != ResticType && t != KopiaType {
|
||||
return "", fmt.Errorf("invalid uploader type '%s', valid upload types are: '%s', '%s'", t, ResticType, KopiaType)
|
||||
}
|
||||
|
||||
if t == ResticType {
|
||||
return fmt.Sprintf("Uploader '%s' is deprecated, don't use it for new backups, otherwise the backups won't be available for restore when this functionality is removed in a future version of Velero", t), nil
|
||||
if t != KopiaType {
|
||||
return "", fmt.Errorf("invalid uploader type '%s', valid type: '%s'", t, KopiaType)
|
||||
}
|
||||
|
||||
return "", nil
|
||||
|
||||
@@ -14,12 +14,6 @@ func TestValidateUploaderType(t *testing.T) {
|
||||
wantErr string
|
||||
wantMsg string
|
||||
}{
|
||||
{
|
||||
"'restic' is a valid type",
|
||||
"restic",
|
||||
"",
|
||||
"Uploader 'restic' is deprecated, don't use it for new backups, otherwise the backups won't be available for restore when this functionality is removed in a future version of Velero",
|
||||
},
|
||||
{
|
||||
"' kopia ' is a valid type (space will be trimmed)",
|
||||
" kopia ",
|
||||
@@ -29,7 +23,7 @@ func TestValidateUploaderType(t *testing.T) {
|
||||
{
|
||||
"'anything_else' is invalid",
|
||||
"anything_else",
|
||||
"invalid uploader type 'anything_else', valid upload types are: 'restic', 'kopia'",
|
||||
"invalid uploader type 'anything_else', valid type: 'kopia'",
|
||||
"",
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user