diff --git a/test/e2e/framework/BUILD b/test/e2e/framework/BUILD index b750bef5b9f..6d317ac5f7b 100644 --- a/test/e2e/framework/BUILD +++ b/test/e2e/framework/BUILD @@ -30,7 +30,6 @@ go_library( "ssh.go", "statefulset_utils.go", "test_context.go", - "upgrade_util.go", "util.go", ], importpath = "k8s.io/kubernetes/test/e2e/framework", @@ -91,7 +90,6 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/yaml:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/version:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/apiserver/pkg/authentication/serviceaccount:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", @@ -152,6 +150,7 @@ filegroup( "//test/e2e/framework/gpu:all-srcs", "//test/e2e/framework/ingress:all-srcs", "//test/e2e/framework/job:all-srcs", + "//test/e2e/framework/lifecycle:all-srcs", "//test/e2e/framework/log:all-srcs", "//test/e2e/framework/metrics:all-srcs", "//test/e2e/framework/podlogs:all-srcs", diff --git a/test/e2e/framework/lifecycle/BUILD b/test/e2e/framework/lifecycle/BUILD new file mode 100644 index 00000000000..ff5c6c3b8be --- /dev/null +++ b/test/e2e/framework/lifecycle/BUILD @@ -0,0 +1,29 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["upgrade.go"], + importpath = "k8s.io/kubernetes/test/e2e/framework/lifecycle", + visibility = ["//visibility:public"], + deps = [ + "//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/version:go_default_library", + "//staging/src/k8s.io/client-go/kubernetes:go_default_library", + "//test/e2e/framework:go_default_library", + "//test/e2e/framework/log:go_default_library", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], + visibility = ["//visibility:public"], +) diff --git a/test/e2e/framework/upgrade_util.go b/test/e2e/framework/lifecycle/upgrade.go similarity index 81% rename from test/e2e/framework/upgrade_util.go rename to test/e2e/framework/lifecycle/upgrade.go index 4645715f4b1..b7b20c5ba21 100644 --- a/test/e2e/framework/upgrade_util.go +++ b/test/e2e/framework/lifecycle/upgrade.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package framework +package lifecycle import ( "fmt" @@ -26,39 +26,41 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/version" clientset "k8s.io/client-go/kubernetes" + "k8s.io/kubernetes/test/e2e/framework" + e2elog "k8s.io/kubernetes/test/e2e/framework/log" ) // RealVersion turns a version constants into a version string deployable on // GKE. See hack/get-build.sh for more information. func RealVersion(s string) (string, error) { - Logf("Getting real version for %q", s) - v, _, err := RunCmd(path.Join(TestContext.RepoRoot, "hack/get-build.sh"), "-v", s) + e2elog.Logf("Getting real version for %q", s) + v, _, err := framework.RunCmd(path.Join(framework.TestContext.RepoRoot, "hack/get-build.sh"), "-v", s) if err != nil { return v, fmt.Errorf("error getting real version for %q: %v", s, err) } - Logf("Version for %q is %q", s, v) + e2elog.Logf("Version for %q is %q", s, v) return strings.TrimPrefix(strings.TrimSpace(v), "v"), nil } func traceRouteToMaster() { path, err := exec.LookPath("traceroute") if err != nil { - Logf("Could not find traceroute program") + e2elog.Logf("Could not find traceroute program") return } - cmd := exec.Command(path, "-I", GetMasterHost()) + cmd := exec.Command(path, "-I", framework.GetMasterHost()) out, err := cmd.Output() if len(out) != 0 { - Logf(string(out)) + e2elog.Logf(string(out)) } if exiterr, ok := err.(*exec.ExitError); err != nil && ok { - Logf("Error while running traceroute: %s", exiterr.Stderr) + e2elog.Logf("Error while running traceroute: %s", exiterr.Stderr) } } // CheckMasterVersion validates the master version func CheckMasterVersion(c clientset.Interface, want string) error { - Logf("Checking master version") + e2elog.Logf("Checking master version") var err error var v *version.Info waitErr := wait.PollImmediate(5*time.Second, 2*time.Minute, func() (bool, error) { @@ -79,13 +81,13 @@ func CheckMasterVersion(c clientset.Interface, want string) error { if !strings.HasPrefix(got, want) { return fmt.Errorf("master had kube-apiserver version %s which does not start with %s", got, want) } - Logf("Master is at version %s", want) + e2elog.Logf("Master is at version %s", want) return nil } // CheckNodesVersions validates the nodes versions func CheckNodesVersions(cs clientset.Interface, want string) error { - l := GetReadySchedulableNodesOrDie(cs) + l := framework.GetReadySchedulableNodesOrDie(cs) for _, n := range l.Items { // We do prefix trimming and then matching because: // want looks like: 0.19.3-815-g50e67d4 diff --git a/test/e2e/lifecycle/BUILD b/test/e2e/lifecycle/BUILD index 0b7c5f1cf6e..d30c2d39189 100644 --- a/test/e2e/lifecycle/BUILD +++ b/test/e2e/lifecycle/BUILD @@ -34,6 +34,7 @@ go_library( "//test/e2e/common:go_default_library", "//test/e2e/framework:go_default_library", "//test/e2e/framework/ginkgowrapper:go_default_library", + "//test/e2e/framework/lifecycle:go_default_library", "//test/e2e/upgrades:go_default_library", "//test/e2e/upgrades/apps:go_default_library", "//test/e2e/upgrades/storage:go_default_library", diff --git a/test/e2e/lifecycle/cluster_upgrade.go b/test/e2e/lifecycle/cluster_upgrade.go index 976816c7d6e..ee5dc3929ba 100644 --- a/test/e2e/lifecycle/cluster_upgrade.go +++ b/test/e2e/lifecycle/cluster_upgrade.go @@ -32,6 +32,7 @@ import ( "k8s.io/kubernetes/test/e2e/chaosmonkey" "k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework/ginkgowrapper" + e2elifecycle "k8s.io/kubernetes/test/e2e/framework/lifecycle" "k8s.io/kubernetes/test/e2e/upgrades" apps "k8s.io/kubernetes/test/e2e/upgrades/apps" "k8s.io/kubernetes/test/e2e/upgrades/storage" @@ -103,7 +104,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { defer finalizeUpgradeTest(start, masterUpgradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.MasterUpgrade(target)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.MasterUpgrade, upgradeFunc) }) @@ -125,7 +126,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { defer finalizeUpgradeTest(start, nodeUpgradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.NodeUpgrade, upgradeFunc) }) @@ -144,9 +145,9 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { defer finalizeUpgradeTest(start, clusterUpgradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.MasterUpgrade(target)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) }) @@ -175,9 +176,9 @@ var _ = SIGDescribe("Downgrade [Feature:Downgrade]", func() { // Yes this really is a downgrade. And nodes must downgrade first. target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) framework.ExpectNoError(framework.MasterUpgrade(target)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) }) @@ -228,7 +229,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { defer finalizeUpgradeTest(start, gpuUpgradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.MasterUpgrade(target)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.MasterUpgrade, upgradeFunc) }) @@ -246,9 +247,9 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { defer finalizeUpgradeTest(start, gpuUpgradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.MasterUpgrade(target)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) }) @@ -266,9 +267,9 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { defer finalizeUpgradeTest(start, gpuDowngradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) framework.ExpectNoError(framework.MasterUpgrade(target)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) }) @@ -294,9 +295,9 @@ var _ = ginkgo.Describe("[sig-apps] stateful Upgrade [Feature:StatefulUpgrade]", defer finalizeUpgradeTest(start, statefulUpgradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.MasterUpgrade(target)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } runUpgradeSuite(f, statefulsetUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) }) @@ -329,9 +330,9 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]" defer finalizeUpgradeTest(start, kubeProxyUpgradeTest) target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.MasterUpgradeGCEWithKubeProxyDaemonSet(target, true)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) framework.ExpectNoError(framework.NodeUpgradeGCEWithKubeProxyDaemonSet(f, target, *upgradeImage, true)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } runUpgradeSuite(f, kubeProxyUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) }) @@ -357,9 +358,9 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]" // Yes this really is a downgrade. And nodes must downgrade first. target := upgCtx.Versions[1].Version.String() framework.ExpectNoError(framework.NodeUpgradeGCEWithKubeProxyDaemonSet(f, target, *upgradeImage, false)) - framework.ExpectNoError(framework.CheckNodesVersions(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) framework.ExpectNoError(framework.MasterUpgradeGCEWithKubeProxyDaemonSet(target, false)) - framework.ExpectNoError(framework.CheckMasterVersion(f.ClientSet, target)) + framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } runUpgradeSuite(f, kubeProxyDowngradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) }) @@ -506,7 +507,7 @@ func getUpgradeContext(c discovery.DiscoveryInterface, upgradeTarget string) (*u return upgCtx, nil } - next, err := framework.RealVersion(upgradeTarget) + next, err := e2elifecycle.RealVersion(upgradeTarget) if err != nil { return nil, err }