From 5131ff61bf1053f7baa77b54846b8ef45e9e1c83 Mon Sep 17 00:00:00 2001 From: Shihang Zhang Date: Wed, 14 Apr 2021 09:12:55 -0700 Subject: [PATCH] move upgrade test frameworks closer to Describe --- test/e2e/cloud/gcp/apps/stateful_apps.go | 3 ++- .../service_account_admission_controller_migration.go | 3 ++- test/e2e/cloud/gcp/cluster_upgrade.go | 8 +++++--- test/e2e/cloud/gcp/network/kube_proxy_migration.go | 6 ++++-- test/e2e/cloud/gcp/node/gpu.go | 7 ++++--- test/e2e/upgrades/upgrade_suite.go | 5 ++--- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/test/e2e/cloud/gcp/apps/stateful_apps.go b/test/e2e/cloud/gcp/apps/stateful_apps.go index e131cf2c3210..7f27bb261127 100644 --- a/test/e2e/cloud/gcp/apps/stateful_apps.go +++ b/test/e2e/cloud/gcp/apps/stateful_apps.go @@ -34,6 +34,7 @@ var upgradeTests = []upgrades.Test{ var _ = SIGDescribe("stateful Upgrade [Feature:StatefulUpgrade]", func() { f := framework.NewDefaultFramework("stateful-upgrade") + testFrameworks := upgrades.CreateUpgradeFrameworks(upgradeTests) ginkgo.Describe("stateful upgrade", func() { ginkgo.It("should maintain a functioning cluster", func() { @@ -45,7 +46,7 @@ var _ = SIGDescribe("stateful Upgrade [Feature:StatefulUpgrade]", func() { testSuite.TestCases = append(testSuite.TestCases, statefulUpgradeTest) upgradeFunc := common.ClusterUpgradeFunc(f, upgCtx, statefulUpgradeTest, nil, nil) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.ClusterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) diff --git a/test/e2e/cloud/gcp/auth/service_account_admission_controller_migration.go b/test/e2e/cloud/gcp/auth/service_account_admission_controller_migration.go index 44384c9a5915..591eb16a2fc3 100644 --- a/test/e2e/cloud/gcp/auth/service_account_admission_controller_migration.go +++ b/test/e2e/cloud/gcp/auth/service_account_admission_controller_migration.go @@ -32,6 +32,7 @@ var upgradeTests = []upgrades.Test{ var _ = SIGDescribe("ServiceAccount admission controller migration [Feature:BoundServiceAccountTokenVolume]", func() { f := framework.NewDefaultFramework("serviceaccount-admission-controller-migration") + testFrameworks := upgrades.CreateUpgradeFrameworks(upgradeTests) ginkgo.Describe("master upgrade", func() { ginkgo.It("should maintain a functioning cluster", func() { @@ -47,7 +48,7 @@ var _ = SIGDescribe("ServiceAccount admission controller migration [Feature:Boun extraEnvs := []string{"KUBE_FEATURE_GATES=BoundServiceAccountTokenVolume=true"} upgradeFunc := common.ControlPlaneUpgradeFunc(f, upgCtx, serviceaccountAdmissionControllerMigrationTest, extraEnvs) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.MasterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.MasterUpgrade, upgradeFunc) }) }) }) diff --git a/test/e2e/cloud/gcp/cluster_upgrade.go b/test/e2e/cloud/gcp/cluster_upgrade.go index b8361b11b6e3..b6f922d31bde 100644 --- a/test/e2e/cloud/gcp/cluster_upgrade.go +++ b/test/e2e/cloud/gcp/cluster_upgrade.go @@ -50,6 +50,7 @@ var upgradeTests = []upgrades.Test{ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { f := framework.NewDefaultFramework("cluster-upgrade") + testFrameworks := upgrades.CreateUpgradeFrameworks(upgradeTests) // Create the frameworks here because we can only create them // in a "Describe". @@ -66,7 +67,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { testSuite.TestCases = append(testSuite.TestCases, masterUpgradeTest, nil) upgradeFunc := common.ControlPlaneUpgradeFunc(f, upgCtx, masterUpgradeTest, nil) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.MasterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.MasterUpgrade, upgradeFunc) }) }) @@ -80,13 +81,14 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { testSuite.TestCases = append(testSuite.TestCases, clusterUpgradeTest) upgradeFunc := common.ClusterUpgradeFunc(f, upgCtx, clusterUpgradeTest, nil, nil) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.ClusterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) var _ = SIGDescribe("Downgrade [Feature:Downgrade]", func() { f := framework.NewDefaultFramework("cluster-downgrade") + testFrameworks := upgrades.CreateUpgradeFrameworks(upgradeTests) ginkgo.Describe("cluster downgrade", func() { ginkgo.It("should maintain a functioning cluster [Feature:ClusterDowngrade]", func() { @@ -98,7 +100,7 @@ var _ = SIGDescribe("Downgrade [Feature:Downgrade]", func() { testSuite.TestCases = append(testSuite.TestCases, clusterDowngradeTest) upgradeFunc := common.ClusterDowngradeFunc(f, upgCtx, clusterDowngradeTest, nil, nil) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.ClusterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) diff --git a/test/e2e/cloud/gcp/network/kube_proxy_migration.go b/test/e2e/cloud/gcp/network/kube_proxy_migration.go index 0fab8ce50b1e..e74a590e7d9d 100644 --- a/test/e2e/cloud/gcp/network/kube_proxy_migration.go +++ b/test/e2e/cloud/gcp/network/kube_proxy_migration.go @@ -45,6 +45,8 @@ func kubeProxyDaemonSetExtraEnvs(enableKubeProxyDaemonSet bool) []string { var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]", func() { f := framework.NewDefaultFramework("kube-proxy-ds-migration") + upgradeTestFrameworks := upgrades.CreateUpgradeFrameworks(upgradeTests) + downgradeTestsFrameworks := upgrades.CreateUpgradeFrameworks(downgradeTests) ginkgo.BeforeEach(func() { e2eskipper.SkipUnlessProviderIs("gce") @@ -64,7 +66,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]" extraEnvs := kubeProxyDaemonSetExtraEnvs(true) upgradeFunc := common.ClusterUpgradeFunc(f, upgCtx, kubeProxyUpgradeTest, extraEnvs, extraEnvs) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.ClusterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, upgradeTestFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) @@ -82,7 +84,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]" extraEnvs := kubeProxyDaemonSetExtraEnvs(false) upgradeFunc := common.ClusterDowngradeFunc(f, upgCtx, kubeProxyDowngradeTest, extraEnvs, extraEnvs) - upgrades.RunUpgradeSuite(upgCtx, downgradeTests, testSuite, upgrades.ClusterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, downgradeTests, downgradeTestsFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) diff --git a/test/e2e/cloud/gcp/node/gpu.go b/test/e2e/cloud/gcp/node/gpu.go index 7afb88c7c307..91d57de433cd 100644 --- a/test/e2e/cloud/gcp/node/gpu.go +++ b/test/e2e/cloud/gcp/node/gpu.go @@ -32,6 +32,7 @@ var upgradeTests = []upgrades.Test{ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { f := framework.NewDefaultFramework("gpu-upgrade") + testFrameworks := upgrades.CreateUpgradeFrameworks(upgradeTests) ginkgo.Describe("master upgrade", func() { ginkgo.It("should NOT disrupt gpu pod [Feature:GPUMasterUpgrade]", func() { @@ -43,7 +44,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { testSuite.TestCases = append(testSuite.TestCases, gpuUpgradeTest) upgradeFunc := common.ControlPlaneUpgradeFunc(f, upgCtx, gpuUpgradeTest, nil) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.MasterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.MasterUpgrade, upgradeFunc) }) }) ginkgo.Describe("cluster upgrade", func() { @@ -56,7 +57,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { testSuite.TestCases = append(testSuite.TestCases, gpuUpgradeTest) upgradeFunc := common.ClusterUpgradeFunc(f, upgCtx, gpuUpgradeTest, nil, nil) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.ClusterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) ginkgo.Describe("cluster downgrade", func() { @@ -69,7 +70,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { testSuite.TestCases = append(testSuite.TestCases, gpuDowngradeTest) upgradeFunc := common.ClusterDowngradeFunc(f, upgCtx, gpuDowngradeTest, nil, nil) - upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testSuite, upgrades.ClusterUpgrade, upgradeFunc) + upgrades.RunUpgradeSuite(upgCtx, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) diff --git a/test/e2e/upgrades/upgrade_suite.go b/test/e2e/upgrades/upgrade_suite.go index 89f1a9068423..eac3b0f5a668 100644 --- a/test/e2e/upgrades/upgrade_suite.go +++ b/test/e2e/upgrades/upgrade_suite.go @@ -95,7 +95,7 @@ func FinalizeUpgradeTest(start time.Time, tc *junit.TestCase) { } } -func createUpgradeFrameworks(tests []Test) map[string]*framework.Framework { +func CreateUpgradeFrameworks(tests []Test) map[string]*framework.Framework { nsFilter := regexp.MustCompile("[^[:word:]-]+") // match anything that's not a word character or hyphen testFrameworks := map[string]*framework.Framework{} for _, t := range tests { @@ -110,12 +110,11 @@ func createUpgradeFrameworks(tests []Test) map[string]*framework.Framework { func RunUpgradeSuite( upgCtx *UpgradeContext, tests []Test, + testFrameworks map[string]*framework.Framework, testSuite *junit.TestSuite, upgradeType UpgradeType, upgradeFunc func(), ) { - testFrameworks := createUpgradeFrameworks(tests) - cm := chaosmonkey.New(upgradeFunc) for _, t := range tests { testCase := &junit.TestCase{