Pass Velero server command args to the plugins

Pass Velero server command args to the plugins

Fixes #7806

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
This commit is contained in:
Wenkai Yin(尹文开)
2024-09-04 13:43:27 +08:00
parent 981f30cb25
commit dc6eeafe98
22 changed files with 500 additions and 483 deletions
+47 -46
View File
@@ -35,7 +35,8 @@ import (
velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
velerov2alpha1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1"
"github.com/vmware-tanzu/velero/pkg/client/mocks"
"github.com/vmware-tanzu/velero/pkg/controller"
"github.com/vmware-tanzu/velero/pkg/cmd/server/config"
"github.com/vmware-tanzu/velero/pkg/constant"
discovery_mocks "github.com/vmware-tanzu/velero/pkg/discovery/mocks"
velerotest "github.com/vmware-tanzu/velero/pkg/test"
"github.com/vmware-tanzu/velero/pkg/uploader"
@@ -112,31 +113,31 @@ func TestRemoveControllers(t *testing.T) {
{
name: "Remove one disable controller",
disabledControllers: []string{
controller.Backup,
constant.ControllerBackup,
},
errorExpected: false,
},
{
name: "Remove all disable controllers",
disabledControllers: []string{
controller.BackupOperations,
controller.Backup,
controller.BackupDeletion,
controller.BackupSync,
controller.DownloadRequest,
controller.GarbageCollection,
controller.BackupRepo,
controller.Restore,
controller.Schedule,
controller.ServerStatusRequest,
constant.ControllerBackupOperations,
constant.ControllerBackup,
constant.ControllerBackupDeletion,
constant.ControllerBackupSync,
constant.ControllerDownloadRequest,
constant.ControllerGarbageCollection,
constant.ControllerBackupRepo,
constant.ControllerRestore,
constant.ControllerSchedule,
constant.ControllerServerStatusRequest,
},
errorExpected: false,
},
{
name: "Remove with a non-disable controller included",
disabledControllers: []string{
controller.Backup,
controller.BackupStorageLocation,
constant.ControllerBackup,
constant.ControllerBackupStorageLocation,
},
errorExpected: true,
},
@@ -151,16 +152,16 @@ func TestRemoveControllers(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
enabledRuntimeControllers := map[string]struct{}{
controller.BackupSync: {},
controller.Backup: {},
controller.GarbageCollection: {},
controller.Restore: {},
controller.ServerStatusRequest: {},
controller.Schedule: {},
controller.BackupDeletion: {},
controller.BackupRepo: {},
controller.DownloadRequest: {},
controller.BackupOperations: {},
constant.ControllerBackupSync: {},
constant.ControllerBackup: {},
constant.ControllerGarbageCollection: {},
constant.ControllerRestore: {},
constant.ControllerServerStatusRequest: {},
constant.ControllerSchedule: {},
constant.ControllerBackupDeletion: {},
constant.ControllerBackupRepo: {},
constant.ControllerDownloadRequest: {},
constant.ControllerBackupOperations: {},
}
totalNumOriginalControllers := len(enabledRuntimeControllers)
@@ -191,42 +192,42 @@ func Test_newServer(t *testing.T) {
logger := logrus.New()
// invalid uploader type
_, err := newServer(factory, serverConfig{
uploaderType: "invalid",
_, err := newServer(factory, &config.Config{
UploaderType: "invalid",
}, logger)
assert.Error(t, err)
// invalid clientQPS
_, err = newServer(factory, serverConfig{
uploaderType: uploader.KopiaType,
clientQPS: -1,
_, err = newServer(factory, &config.Config{
UploaderType: uploader.KopiaType,
ClientQPS: -1,
}, logger)
assert.Error(t, err)
// invalid clientQPS Restic uploader
_, err = newServer(factory, serverConfig{
uploaderType: uploader.ResticType,
clientQPS: -1,
_, err = newServer(factory, &config.Config{
UploaderType: uploader.ResticType,
ClientQPS: -1,
}, logger)
assert.Error(t, err)
// invalid clientBurst
factory.On("SetClientQPS", mock.Anything).Return()
_, err = newServer(factory, serverConfig{
uploaderType: uploader.KopiaType,
clientQPS: 1,
clientBurst: -1,
_, err = newServer(factory, &config.Config{
UploaderType: uploader.KopiaType,
ClientQPS: 1,
ClientBurst: -1,
}, logger)
assert.Error(t, err)
// invalid clientBclientPageSizeurst
factory.On("SetClientQPS", mock.Anything).Return().
On("SetClientBurst", mock.Anything).Return()
_, err = newServer(factory, serverConfig{
uploaderType: uploader.KopiaType,
clientQPS: 1,
clientBurst: 1,
clientPageSize: -1,
_, err = newServer(factory, &config.Config{
UploaderType: uploader.KopiaType,
ClientQPS: 1,
ClientBurst: 1,
ClientPageSize: -1,
}, logger)
assert.Error(t, err)
@@ -236,11 +237,11 @@ func Test_newServer(t *testing.T) {
On("KubeClient").Return(nil, nil).
On("Client").Return(nil, nil).
On("DynamicClient").Return(nil, errors.New("error"))
_, err = newServer(factory, serverConfig{
uploaderType: uploader.KopiaType,
clientQPS: 1,
clientBurst: 1,
clientPageSize: 100,
_, err = newServer(factory, &config.Config{
UploaderType: uploader.KopiaType,
ClientQPS: 1,
ClientBurst: 1,
ClientPageSize: 100,
}, logger)
assert.Error(t, err)
}