From 0b3d50b6dccdc4bbd0b3e411c648b092477d79ac Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Thu, 10 Oct 2019 20:03:39 +0300 Subject: [PATCH] test/e2e: move GKE/GCE tests from /lifecycle to /cloud/gcp Move GKE/GCE tests from the sig-cluster-lifecycle ownership to the sig-cloud-provider-gcp ownership (ideally the GCP sub-project). --- test/e2e/cloud/BUILD | 5 +- test/e2e/cloud/gcp/BUILD | 63 +++++++++++++++++++ test/e2e/cloud/gcp/OWNERS | 11 ++++ .../{lifecycle => cloud/gcp}/addon_update.go | 2 +- .../gcp}/cluster_upgrade.go | 36 +++++------ test/e2e/cloud/gcp/framework.go | 24 +++++++ .../e2e/{lifecycle => cloud/gcp}/ha_master.go | 2 +- .../gcp}/kubelet_security.go | 2 +- .../{lifecycle => cloud/gcp}/node_lease.go | 2 +- test/e2e/{lifecycle => cloud/gcp}/reboot.go | 2 +- .../{lifecycle => cloud/gcp}/resize_nodes.go | 2 +- test/e2e/{lifecycle => cloud/gcp}/restart.go | 2 +- test/e2e/lifecycle/BUILD | 44 +------------ 13 files changed, 127 insertions(+), 70 deletions(-) create mode 100644 test/e2e/cloud/gcp/BUILD create mode 100644 test/e2e/cloud/gcp/OWNERS rename test/e2e/{lifecycle => cloud/gcp}/addon_update.go (99%) rename test/e2e/{lifecycle => cloud/gcp}/cluster_upgrade.go (94%) create mode 100644 test/e2e/cloud/gcp/framework.go rename test/e2e/{lifecycle => cloud/gcp}/ha_master.go (99%) rename test/e2e/{lifecycle => cloud/gcp}/kubelet_security.go (99%) rename test/e2e/{lifecycle => cloud/gcp}/node_lease.go (99%) rename test/e2e/{lifecycle => cloud/gcp}/reboot.go (99%) rename test/e2e/{lifecycle => cloud/gcp}/resize_nodes.go (99%) rename test/e2e/{lifecycle => cloud/gcp}/restart.go (99%) diff --git a/test/e2e/cloud/BUILD b/test/e2e/cloud/BUILD index b9b1343c83c..c12a26927c3 100644 --- a/test/e2e/cloud/BUILD +++ b/test/e2e/cloud/BUILD @@ -28,7 +28,10 @@ filegroup( filegroup( name = "all-srcs", - srcs = [":package-srcs"], + srcs = [ + ":package-srcs", + "//test/e2e/cloud/gcp:all-srcs", + ], tags = ["automanaged"], visibility = ["//visibility:public"], ) diff --git a/test/e2e/cloud/gcp/BUILD b/test/e2e/cloud/gcp/BUILD new file mode 100644 index 00000000000..605663aa131 --- /dev/null +++ b/test/e2e/cloud/gcp/BUILD @@ -0,0 +1,63 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = [ + "addon_update.go", + "cluster_upgrade.go", + "framework.go", + "ha_master.go", + "kubelet_security.go", + "node_lease.go", + "reboot.go", + "resize_nodes.go", + "restart.go", + ], + importpath = "k8s.io/kubernetes/test/e2e/cloud/gcp", + visibility = ["//visibility:public"], + deps = [ + "//pkg/apis/core:go_default_library", + "//pkg/master/ports:go_default_library", + "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library", + "//staging/src/k8s.io/client-go/discovery:go_default_library", + "//staging/src/k8s.io/client-go/kubernetes:go_default_library", + "//test/e2e/chaosmonkey:go_default_library", + "//test/e2e/common:go_default_library", + "//test/e2e/framework:go_default_library", + "//test/e2e/framework/config:go_default_library", + "//test/e2e/framework/ginkgowrapper:go_default_library", + "//test/e2e/framework/kubelet:go_default_library", + "//test/e2e/framework/lifecycle:go_default_library", + "//test/e2e/framework/node:go_default_library", + "//test/e2e/framework/pod:go_default_library", + "//test/e2e/framework/ssh:go_default_library", + "//test/e2e/upgrades:go_default_library", + "//test/e2e/upgrades/apps:go_default_library", + "//test/e2e/upgrades/storage:go_default_library", + "//test/utils:go_default_library", + "//test/utils/image:go_default_library", + "//test/utils/junit:go_default_library", + "//vendor/github.com/onsi/ginkgo:go_default_library", + "//vendor/github.com/onsi/gomega:go_default_library", + "//vendor/golang.org/x/crypto/ssh: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/cloud/gcp/OWNERS b/test/e2e/cloud/gcp/OWNERS new file mode 100644 index 00000000000..3e9b5f8125b --- /dev/null +++ b/test/e2e/cloud/gcp/OWNERS @@ -0,0 +1,11 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- cheftako +- justinsb +reviewers: +- cheftako +- justinsb + +labels: +- sig/cloud-provider diff --git a/test/e2e/lifecycle/addon_update.go b/test/e2e/cloud/gcp/addon_update.go similarity index 99% rename from test/e2e/lifecycle/addon_update.go rename to test/e2e/cloud/gcp/addon_update.go index 1b1d2aafe9e..d86b20d335e 100644 --- a/test/e2e/lifecycle/addon_update.go +++ b/test/e2e/cloud/gcp/addon_update.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "bytes" diff --git a/test/e2e/lifecycle/cluster_upgrade.go b/test/e2e/cloud/gcp/cluster_upgrade.go similarity index 94% rename from test/e2e/lifecycle/cluster_upgrade.go rename to test/e2e/cloud/gcp/cluster_upgrade.go index 29dafd741d7..8cd5fcac578 100644 --- a/test/e2e/lifecycle/cluster_upgrade.go +++ b/test/e2e/cloud/gcp/cluster_upgrade.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "encoding/xml" @@ -94,7 +94,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { testSuite := &junit.TestSuite{Name: "Master upgrade"} masterUpgradeTest := &junit.TestCase{ - Name: "[sig-cluster-lifecycle] master-upgrade", + Name: "[sig-cloud-provider-gcp] master-upgrade", Classname: "upgrade_tests", } testSuite.TestCases = append(testSuite.TestCases, masterUpgradeTest) @@ -106,7 +106,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { framework.ExpectNoError(framework.MasterUpgrade(target)) framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } - runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.MasterUpgrade, upgradeFunc) + runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgrades.MasterUpgrade, upgradeFunc) }) }) @@ -128,7 +128,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } - runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.NodeUpgrade, upgradeFunc) + runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgrades.NodeUpgrade, upgradeFunc) }) }) @@ -138,7 +138,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { framework.ExpectNoError(err) testSuite := &junit.TestSuite{Name: "Cluster upgrade"} - clusterUpgradeTest := &junit.TestCase{Name: "[sig-cluster-lifecycle] cluster-upgrade", Classname: "upgrade_tests"} + clusterUpgradeTest := &junit.TestCase{Name: "[sig-cloud-provider-gcp] cluster-upgrade", Classname: "upgrade_tests"} testSuite.TestCases = append(testSuite.TestCases, clusterUpgradeTest) upgradeFunc := func() { start := time.Now() @@ -149,7 +149,7 @@ var _ = SIGDescribe("Upgrade [Feature:Upgrade]", func() { framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } - runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) + runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) @@ -167,7 +167,7 @@ var _ = SIGDescribe("Downgrade [Feature:Downgrade]", func() { framework.ExpectNoError(err) testSuite := &junit.TestSuite{Name: "Cluster downgrade"} - clusterDowngradeTest := &junit.TestCase{Name: "[sig-cluster-lifecycle] cluster-downgrade", Classname: "upgrade_tests"} + clusterDowngradeTest := &junit.TestCase{Name: "[sig-cloud-provider-gcp] cluster-downgrade", Classname: "upgrade_tests"} testSuite.TestCases = append(testSuite.TestCases, clusterDowngradeTest) upgradeFunc := func() { @@ -180,7 +180,7 @@ var _ = SIGDescribe("Downgrade [Feature:Downgrade]", func() { framework.ExpectNoError(framework.MasterUpgrade(target)) framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } - runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) + runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) @@ -193,11 +193,8 @@ var _ = SIGDescribe("etcd Upgrade [Feature:EtcdUpgrade]", func() { testFrameworks := createUpgradeFrameworks(upgradeTests) ginkgo.Describe("etcd upgrade", func() { ginkgo.It("should maintain a functioning cluster", func() { - upgCtx, err := getUpgradeContext(f.ClientSet.Discovery(), "") - framework.ExpectNoError(err) - testSuite := &junit.TestSuite{Name: "Etcd upgrade"} - etcdTest := &junit.TestCase{Name: "[sig-cluster-lifecycle] etcd-upgrade", Classname: "upgrade_tests"} + etcdTest := &junit.TestCase{Name: "[sig-cloud-provider-gcp] etcd-upgrade", Classname: "upgrade_tests"} testSuite.TestCases = append(testSuite.TestCases, etcdTest) upgradeFunc := func() { @@ -205,7 +202,7 @@ var _ = SIGDescribe("etcd Upgrade [Feature:EtcdUpgrade]", func() { defer finalizeUpgradeTest(start, etcdTest) framework.ExpectNoError(framework.EtcdUpgrade(framework.TestContext.EtcdUpgradeStorage, framework.TestContext.EtcdUpgradeVersion)) } - runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgCtx, upgrades.EtcdUpgrade, upgradeFunc) + runUpgradeSuite(f, upgradeTests, testFrameworks, testSuite, upgrades.EtcdUpgrade, upgradeFunc) }) }) }) @@ -231,7 +228,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { framework.ExpectNoError(framework.MasterUpgrade(target)) framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } - runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.MasterUpgrade, upgradeFunc) + runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgrades.MasterUpgrade, upgradeFunc) }) }) ginkgo.Describe("cluster upgrade", func() { @@ -251,7 +248,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } - runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) + runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) ginkgo.Describe("cluster downgrade", func() { @@ -271,7 +268,7 @@ var _ = SIGDescribe("gpu Upgrade [Feature:GPUUpgrade]", func() { framework.ExpectNoError(framework.MasterUpgrade(target)) framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } - runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) + runUpgradeSuite(f, gpuUpgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) @@ -299,7 +296,7 @@ var _ = ginkgo.Describe("[sig-apps] stateful Upgrade [Feature:StatefulUpgrade]", framework.ExpectNoError(framework.NodeUpgrade(f, target, *upgradeImage)) framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } - runUpgradeSuite(f, statefulsetUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) + runUpgradeSuite(f, statefulsetUpgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) @@ -334,7 +331,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]" framework.ExpectNoError(framework.NodeUpgradeGCEWithKubeProxyDaemonSet(f, target, *upgradeImage, true)) framework.ExpectNoError(e2elifecycle.CheckNodesVersions(f.ClientSet, target)) } - runUpgradeSuite(f, kubeProxyUpgradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) + runUpgradeSuite(f, kubeProxyUpgradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) @@ -362,7 +359,7 @@ var _ = SIGDescribe("kube-proxy migration [Feature:KubeProxyDaemonSetMigration]" framework.ExpectNoError(framework.MasterUpgradeGCEWithKubeProxyDaemonSet(target, false)) framework.ExpectNoError(e2elifecycle.CheckMasterVersion(f.ClientSet, target)) } - runUpgradeSuite(f, kubeProxyDowngradeTests, testFrameworks, testSuite, upgCtx, upgrades.ClusterUpgrade, upgradeFunc) + runUpgradeSuite(f, kubeProxyDowngradeTests, testFrameworks, testSuite, upgrades.ClusterUpgrade, upgradeFunc) }) }) }) @@ -442,7 +439,6 @@ func runUpgradeSuite( tests []upgrades.Test, testFrameworks map[string]*framework.Framework, testSuite *junit.TestSuite, - upgCtx *upgrades.UpgradeContext, upgradeType upgrades.UpgradeType, upgradeFunc func(), ) { diff --git a/test/e2e/cloud/gcp/framework.go b/test/e2e/cloud/gcp/framework.go new file mode 100644 index 00000000000..9c6279da8eb --- /dev/null +++ b/test/e2e/cloud/gcp/framework.go @@ -0,0 +1,24 @@ +/* +Copyright 2019 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package gcp + +import "k8s.io/kubernetes/test/e2e/framework" + +// SIGDescribe annotates the test with the SIG label. +func SIGDescribe(text string, body func()) bool { + return framework.KubeDescribe("[sig-cloud-provider-gcp] "+text, body) +} diff --git a/test/e2e/lifecycle/ha_master.go b/test/e2e/cloud/gcp/ha_master.go similarity index 99% rename from test/e2e/lifecycle/ha_master.go rename to test/e2e/cloud/gcp/ha_master.go index a6b3cb646e3..5d3831618cf 100644 --- a/test/e2e/lifecycle/ha_master.go +++ b/test/e2e/cloud/gcp/ha_master.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "fmt" diff --git a/test/e2e/lifecycle/kubelet_security.go b/test/e2e/cloud/gcp/kubelet_security.go similarity index 99% rename from test/e2e/lifecycle/kubelet_security.go rename to test/e2e/cloud/gcp/kubelet_security.go index f81af2d4e96..12f063c483f 100644 --- a/test/e2e/lifecycle/kubelet_security.go +++ b/test/e2e/cloud/gcp/kubelet_security.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "fmt" diff --git a/test/e2e/lifecycle/node_lease.go b/test/e2e/cloud/gcp/node_lease.go similarity index 99% rename from test/e2e/lifecycle/node_lease.go rename to test/e2e/cloud/gcp/node_lease.go index bf9e3df7a1b..dddf2b3bc73 100644 --- a/test/e2e/lifecycle/node_lease.go +++ b/test/e2e/cloud/gcp/node_lease.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "fmt" diff --git a/test/e2e/lifecycle/reboot.go b/test/e2e/cloud/gcp/reboot.go similarity index 99% rename from test/e2e/lifecycle/reboot.go rename to test/e2e/cloud/gcp/reboot.go index 1ef9bcd6fbe..d56ed269536 100644 --- a/test/e2e/lifecycle/reboot.go +++ b/test/e2e/cloud/gcp/reboot.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "fmt" diff --git a/test/e2e/lifecycle/resize_nodes.go b/test/e2e/cloud/gcp/resize_nodes.go similarity index 99% rename from test/e2e/lifecycle/resize_nodes.go rename to test/e2e/cloud/gcp/resize_nodes.go index 1a3512249ab..c78e0e0b9d6 100644 --- a/test/e2e/lifecycle/resize_nodes.go +++ b/test/e2e/cloud/gcp/resize_nodes.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "fmt" diff --git a/test/e2e/lifecycle/restart.go b/test/e2e/cloud/gcp/restart.go similarity index 99% rename from test/e2e/lifecycle/restart.go rename to test/e2e/cloud/gcp/restart.go index ad7783e7be0..b6549227b0c 100644 --- a/test/e2e/lifecycle/restart.go +++ b/test/e2e/cloud/gcp/restart.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package lifecycle +package gcp import ( "time" diff --git a/test/e2e/lifecycle/BUILD b/test/e2e/lifecycle/BUILD index 322ab984734..83bc7845288 100644 --- a/test/e2e/lifecycle/BUILD +++ b/test/e2e/lifecycle/BUILD @@ -7,49 +7,9 @@ load( go_library( name = "go_default_library", - srcs = [ - "addon_update.go", - "cluster_upgrade.go", - "framework.go", - "ha_master.go", - "kubelet_security.go", - "node_lease.go", - "reboot.go", - "resize_nodes.go", - "restart.go", - ], + srcs = ["framework.go"], importpath = "k8s.io/kubernetes/test/e2e/lifecycle", - deps = [ - "//pkg/apis/core:go_default_library", - "//pkg/master/ports:go_default_library", - "//staging/src/k8s.io/api/core/v1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library", - "//staging/src/k8s.io/client-go/discovery:go_default_library", - "//staging/src/k8s.io/client-go/kubernetes:go_default_library", - "//test/e2e/chaosmonkey:go_default_library", - "//test/e2e/common:go_default_library", - "//test/e2e/framework:go_default_library", - "//test/e2e/framework/config:go_default_library", - "//test/e2e/framework/ginkgowrapper:go_default_library", - "//test/e2e/framework/kubelet:go_default_library", - "//test/e2e/framework/lifecycle:go_default_library", - "//test/e2e/framework/node:go_default_library", - "//test/e2e/framework/pod:go_default_library", - "//test/e2e/framework/ssh:go_default_library", - "//test/e2e/upgrades:go_default_library", - "//test/e2e/upgrades/apps:go_default_library", - "//test/e2e/upgrades/storage:go_default_library", - "//test/utils:go_default_library", - "//test/utils/image:go_default_library", - "//test/utils/junit:go_default_library", - "//vendor/github.com/onsi/ginkgo:go_default_library", - "//vendor/github.com/onsi/gomega:go_default_library", - "//vendor/golang.org/x/crypto/ssh:go_default_library", - ], + deps = ["//vendor/github.com/onsi/ginkgo:go_default_library"], ) filegroup(