diff --git a/test/e2e/cluster_upgrade.go b/test/e2e/cluster_upgrade.go index 86949d0cfa7..b07ab994b53 100644 --- a/test/e2e/cluster_upgrade.go +++ b/test/e2e/cluster_upgrade.go @@ -21,6 +21,8 @@ import ( "fmt" "os" "path/filepath" + "regexp" + "strings" "sync" "time" @@ -122,10 +124,7 @@ var _ = framework.KubeDescribe("Downgrade [Feature:Downgrade]", func() { // Create the frameworks here because we can only create them // in a "Describe". - testFrameworks := map[string]*framework.Framework{} - for _, t := range upgradeTests { - testFrameworks[t.Name()] = framework.NewDefaultFramework(t.Name()) - } + testFrameworks := createUpgradeFrameworks() framework.KubeDescribe("cluster downgrade", func() { It("should maintain a functioning cluster [Feature:ClusterDowngrade]", func() { @@ -236,9 +235,12 @@ func finalizeUpgradeTest(start time.Time, tc *junit.TestCase) { } func createUpgradeFrameworks() 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 upgradeTests { - testFrameworks[t.Name()] = framework.NewDefaultFramework(t.Name()) + ns := nsFilter.ReplaceAllString(t.Name(), "-") // and replace with a single hyphen + ns = strings.Trim(ns, "-") + testFrameworks[t.Name()] = framework.NewDefaultFramework(ns) } return testFrameworks }