From 6a61a418caba9a4eaf2aeddceec5bd5df4bc0d9c Mon Sep 17 00:00:00 2001 From: Ming Date: Mon, 14 Feb 2022 10:12:45 +0800 Subject: [PATCH] Fix E2E backup namespaces test Signed-off-by: Ming --- changelogs/unreleased/4634-qiuming-best | 1 + test/e2e/basic/resources-check/namespaces.go | 26 +++++++++++--------- test/e2e/test/test.go | 12 +++++++-- 3 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 changelogs/unreleased/4634-qiuming-best diff --git a/changelogs/unreleased/4634-qiuming-best b/changelogs/unreleased/4634-qiuming-best new file mode 100644 index 000000000..b3569ea03 --- /dev/null +++ b/changelogs/unreleased/4634-qiuming-best @@ -0,0 +1 @@ +Fix E2E backup namespaces test diff --git a/test/e2e/basic/resources-check/namespaces.go b/test/e2e/basic/resources-check/namespaces.go index 73d1d4543..366e3adfb 100644 --- a/test/e2e/basic/resources-check/namespaces.go +++ b/test/e2e/basic/resources-check/namespaces.go @@ -48,17 +48,6 @@ func (m *MultiNSBackup) Init() error { m.Client = TestClientInstance m.NSExcluded = &[]string{} - // Currently it's hard to build a large list of namespaces to include and wildcards do not work so instead - // we will exclude all of the namespaces that existed prior to the test from the backup - namespaces, err := m.Client.ClientGo.CoreV1().Namespaces().List(context.Background(), v1.ListOptions{}) - if err != nil { - return errors.Wrap(err, "Could not retrieve namespaces") - } - - for _, excludeNamespace := range namespaces.Items { - *m.NSExcluded = append(*m.NSExcluded, excludeNamespace.Name) - } - if m.IsScalTest { m.NamespacesTotal = 2500 m.TimeoutDuration = time.Hour * 2 @@ -74,6 +63,20 @@ func (m *MultiNSBackup) Init() error { FailedMSG: "Failed to successfully backup and restore multiple namespaces", } } + return nil +} + +func (m *MultiNSBackup) StartRun() error { + // Currently it's hard to build a large list of namespaces to include and wildcards do not work so instead + // we will exclude all of the namespaces that existed prior to the test from the backup + namespaces, err := m.Client.ClientGo.CoreV1().Namespaces().List(context.Background(), v1.ListOptions{}) + if err != nil { + return errors.Wrap(err, "Could not retrieve namespaces") + } + + for _, excludeNamespace := range namespaces.Items { + *m.NSExcluded = append(*m.NSExcluded, excludeNamespace.Name) + } m.BackupArgs = []string{ "create", "--namespace", VeleroCfg.VeleroNamespace, "backup", m.BackupName, @@ -85,7 +88,6 @@ func (m *MultiNSBackup) Init() error { "create", "--namespace", VeleroCfg.VeleroNamespace, "restore", m.RestoreName, "--from-backup", m.BackupName, "--wait", } - return nil } diff --git a/test/e2e/test/test.go b/test/e2e/test/test.go index 91a957ad4..5648c06de 100644 --- a/test/e2e/test/test.go +++ b/test/e2e/test/test.go @@ -39,6 +39,7 @@ depends on your test patterns. */ type VeleroBackupRestoreTest interface { Init() error + StartRun() error CreateResources() error Backup() error Destroy() error @@ -137,6 +138,10 @@ func (t *TestCase) CreateResources() error { return nil } +func (t *TestCase) StartRun() error { + return nil +} + func (t *TestCase) Backup() error { if err := VeleroCmdExec(t.Ctx, VeleroCfg.VeleroCLI, t.BackupArgs); err != nil { RunDebug(context.Background(), VeleroCfg.VeleroCLI, VeleroCfg.VeleroNamespace, t.BackupName, "") @@ -180,8 +185,11 @@ func RunTestCase(test VeleroBackupRestoreTest) error { } defer test.Clean() - - err := test.CreateResources() + err := test.StartRun() + if err != nil { + return err + } + err = test.CreateResources() if err != nil { return err }