Merge pull request #99852 from wojtek-t/cleanup_describe_16

Cleanup test/e2e/upgrades directory
This commit is contained in:
Kubernetes Prow Robot 2021-03-08 19:23:36 -08:00 committed by GitHub
commit eacb4bc8f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 70 additions and 54 deletions

View File

@ -40,7 +40,11 @@ import (
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/upgrades"
apps "k8s.io/kubernetes/test/e2e/upgrades/apps"
"k8s.io/kubernetes/test/e2e/upgrades/apps"
"k8s.io/kubernetes/test/e2e/upgrades/auth"
"k8s.io/kubernetes/test/e2e/upgrades/autoscaling"
"k8s.io/kubernetes/test/e2e/upgrades/network"
"k8s.io/kubernetes/test/e2e/upgrades/node"
"k8s.io/kubernetes/test/e2e/upgrades/storage"
"k8s.io/kubernetes/test/utils/junit"
@ -55,42 +59,42 @@ var (
const etcdImage = "3.4.9-1"
var upgradeTests = []upgrades.Test{
&upgrades.ServiceUpgradeTest{},
&upgrades.SecretUpgradeTest{},
&network.ServiceUpgradeTest{},
&node.SecretUpgradeTest{},
&apps.ReplicaSetUpgradeTest{},
&apps.StatefulSetUpgradeTest{},
&apps.DeploymentUpgradeTest{},
&apps.JobUpgradeTest{},
&upgrades.ConfigMapUpgradeTest{},
&upgrades.HPAUpgradeTest{},
&node.ConfigMapUpgradeTest{},
&autoscaling.HPAUpgradeTest{},
&storage.PersistentVolumeUpgradeTest{},
&apps.DaemonSetUpgradeTest{},
&upgrades.AppArmorUpgradeTest{},
&node.AppArmorUpgradeTest{},
&storage.VolumeModeDowngradeTest{},
}
var gpuUpgradeTests = []upgrades.Test{
&upgrades.NvidiaGPUUpgradeTest{},
&node.NvidiaGPUUpgradeTest{},
}
var statefulsetUpgradeTests = []upgrades.Test{
&upgrades.MySQLUpgradeTest{},
&upgrades.EtcdUpgradeTest{},
&upgrades.CassandraUpgradeTest{},
&apps.MySQLUpgradeTest{},
&apps.EtcdUpgradeTest{},
&apps.CassandraUpgradeTest{},
}
var kubeProxyUpgradeTests = []upgrades.Test{
&upgrades.KubeProxyUpgradeTest{},
&upgrades.ServiceUpgradeTest{},
&network.KubeProxyUpgradeTest{},
&network.ServiceUpgradeTest{},
}
var kubeProxyDowngradeTests = []upgrades.Test{
&upgrades.KubeProxyDowngradeTest{},
&upgrades.ServiceUpgradeTest{},
&network.KubeProxyDowngradeTest{},
&network.ServiceUpgradeTest{},
}
var serviceaccountAdmissionControllerMigrationTests = []upgrades.Test{
&upgrades.ServiceAccountAdmissionControllerMigrationTest{},
&auth.ServiceAccountAdmissionControllerMigrationTest{},
}
// masterUpgrade upgrades master node on GCE/GKE.

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"
@ -34,6 +34,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework"
e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset"
e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles"
"k8s.io/kubernetes/test/e2e/upgrades"
)
const cassandraManifestPath = "test/e2e/testing-manifests/statefulset/cassandra"
@ -49,7 +50,7 @@ type CassandraUpgradeTest struct {
func (CassandraUpgradeTest) Name() string { return "cassandra-upgrade" }
// Skip returns true when this test can be skipped.
func (CassandraUpgradeTest) Skip(upgCtx UpgradeContext) bool {
func (CassandraUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool {
minVersion := version.MustParseSemantic("1.6.0")
for _, vCtx := range upgCtx.Versions {
if vCtx.Version.LessThan(minVersion) {
@ -169,7 +170,7 @@ func (t *CassandraUpgradeTest) getServiceIP(f *framework.Framework, ns, svcName
// from the db. Each attempt is tallied and at the end we verify if the success
// ratio is over a certain threshold (0.75). We also verify that we get
// at least the same number of rows back as we successfully wrote.
func (t *CassandraUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *CassandraUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
ginkgo.By("Continuously polling the database during upgrade.")
var (
success, failures, writeAttempts, lastUserCount int

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"
@ -34,6 +34,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework"
e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset"
e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles"
"k8s.io/kubernetes/test/e2e/upgrades"
)
const manifestPath = "test/e2e/testing-manifests/statefulset/etcd"
@ -48,7 +49,7 @@ type EtcdUpgradeTest struct {
func (EtcdUpgradeTest) Name() string { return "etcd-upgrade" }
// Skip returns true when this test can be skipped.
func (EtcdUpgradeTest) Skip(upgCtx UpgradeContext) bool {
func (EtcdUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool {
minVersion := version.MustParseSemantic("1.6.0")
for _, vCtx := range upgCtx.Versions {
if vCtx.Version.LessThan(minVersion) {
@ -157,7 +158,7 @@ func (t *EtcdUpgradeTest) getServiceIP(f *framework.Framework, ns, svcName strin
}
// Test waits for upgrade to complete and verifies if etcd is writable.
func (t *EtcdUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *EtcdUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
ginkgo.By("Continuously polling the database during upgrade.")
var (
success, failures, writeAttempts, lastUserCount int

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"
@ -34,6 +34,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework"
e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset"
e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles"
"k8s.io/kubernetes/test/e2e/upgrades"
)
const mysqlManifestPath = "test/e2e/testing-manifests/statefulset/mysql-upgrade"
@ -49,7 +50,7 @@ type MySQLUpgradeTest struct {
func (MySQLUpgradeTest) Name() string { return "mysql-upgrade" }
// Skip returns true when this test can be skipped.
func (MySQLUpgradeTest) Skip(upgCtx UpgradeContext) bool {
func (MySQLUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool {
minVersion := version.MustParseSemantic("1.5.0")
for _, vCtx := range upgCtx.Versions {
@ -125,7 +126,7 @@ func (t *MySQLUpgradeTest) Setup(f *framework.Framework) {
// Test continually polls the db using the read and write connections, inserting data, and checking
// that all the data is readable.
func (t *MySQLUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *MySQLUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
var writeSuccess, readSuccess, writeFailure, readFailure int
ginkgo.By("Continuously polling the database during upgrade.")
go wait.Until(func() {

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package apps
import (
"context"

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package auth
import (
"context"
@ -28,6 +28,7 @@ import (
e2eauth "k8s.io/kubernetes/test/e2e/auth"
"k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/e2e/upgrades"
imageutils "k8s.io/kubernetes/test/utils/image"
)
@ -55,7 +56,7 @@ func (t *ServiceAccountAdmissionControllerMigrationTest) Setup(f *framework.Fram
// Test waits for the upgrade to complete, and then verifies pod-before-migration
// and pod-after-migration are able to make requests using in cluster config.
func (t *ServiceAccountAdmissionControllerMigrationTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *ServiceAccountAdmissionControllerMigrationTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
ginkgo.By("Waiting for upgrade to finish")
<-done

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package autoscaling
import (
"fmt"
@ -23,6 +23,7 @@ import (
autoscalingv1 "k8s.io/api/autoscaling/v1"
"k8s.io/kubernetes/test/e2e/framework"
e2eautoscaling "k8s.io/kubernetes/test/e2e/framework/autoscaling"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo"
)
@ -61,7 +62,7 @@ func (t *HPAUpgradeTest) Setup(f *framework.Framework) {
}
// Test waits for upgrade to complete and verifies if HPA works correctly.
func (t *HPAUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *HPAUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
// Block until upgrade is done
ginkgo.By(fmt.Sprintf("Waiting for upgrade to finish before checking HPA"))
<-done

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package network
import (
"context"
@ -29,6 +29,7 @@ import (
clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo"
)
@ -55,7 +56,7 @@ func (t *KubeProxyUpgradeTest) Setup(f *framework.Framework) {
}
// Test validates if kube-proxy is migrated from static pods to DaemonSet.
func (t *KubeProxyUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *KubeProxyUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
c := f.ClientSet
// Block until upgrade is done.
@ -90,7 +91,7 @@ func (t *KubeProxyDowngradeTest) Setup(f *framework.Framework) {
}
// Test validates if kube-proxy is migrated from DaemonSet to static pods.
func (t *KubeProxyDowngradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *KubeProxyDowngradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
c := f.ClientSet
// Block until upgrade is done.

View File

@ -14,13 +14,14 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package network
import (
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo"
)
@ -85,11 +86,11 @@ func (t *ServiceUpgradeTest) Setup(f *framework.Framework) {
}
// Test runs a connectivity check to the service.
func (t *ServiceUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *ServiceUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
switch upgrade {
case MasterUpgrade, ClusterUpgrade:
case upgrades.MasterUpgrade, upgrades.ClusterUpgrade:
t.test(f, done, true, true)
case NodeUpgrade:
case upgrades.NodeUpgrade:
// Node upgrades should test during disruption only on GCE/GKE for now.
t.test(f, done, shouldTestPDBs(), false)
default:

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package node
import (
"context"
@ -24,6 +24,7 @@ import (
e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl"
e2esecurity "k8s.io/kubernetes/test/e2e/framework/security"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo"
"github.com/onsi/gomega"
@ -39,7 +40,7 @@ type AppArmorUpgradeTest struct {
func (AppArmorUpgradeTest) Name() string { return "apparmor-upgrade" }
// Skip returns true when this test can be skipped.
func (AppArmorUpgradeTest) Skip(upgCtx UpgradeContext) bool {
func (AppArmorUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool {
supportedImages := make(map[string]bool)
for _, d := range e2eskipper.AppArmorDistros {
supportedImages[d] = true
@ -69,9 +70,9 @@ func (t *AppArmorUpgradeTest) Setup(f *framework.Framework) {
// Test waits for the upgrade to complete, and then verifies that a
// pod can still consume the secret.
func (t *AppArmorUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *AppArmorUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
<-done
if upgrade == MasterUpgrade {
if upgrade == upgrades.MasterUpgrade {
t.verifyPodStillUp(f)
}
t.verifyNodesAppArmorEnabled(f)

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package node
import (
"context"
@ -24,6 +24,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/upgrades"
imageutils "k8s.io/kubernetes/test/utils/image"
"github.com/onsi/ginkgo"
@ -68,7 +69,7 @@ func (t *ConfigMapUpgradeTest) Setup(f *framework.Framework) {
// Test waits for the upgrade to complete, and then verifies that a
// pod can still consume the ConfigMap.
func (t *ConfigMapUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *ConfigMapUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
<-done
ginkgo.By("Consuming the ConfigMap after upgrade")
t.testPod(f)

View File

@ -14,12 +14,13 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package node
import (
"k8s.io/kubernetes/test/e2e/framework"
e2ejob "k8s.io/kubernetes/test/e2e/framework/job"
"k8s.io/kubernetes/test/e2e/scheduling"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo"
)
@ -45,11 +46,11 @@ func (t *NvidiaGPUUpgradeTest) Setup(f *framework.Framework) {
// Test waits for the upgrade to complete, and then verifies that the
// cuda pod started by the gpu job can successfully finish.
func (t *NvidiaGPUUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *NvidiaGPUUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
<-done
ginkgo.By("Verifying gpu job success")
scheduling.VerifyJobNCompletions(f, completions)
if upgrade == MasterUpgrade || upgrade == ClusterUpgrade {
if upgrade == upgrades.MasterUpgrade || upgrade == upgrades.ClusterUpgrade {
// MasterUpgrade should be totally hitless.
job, err := e2ejob.GetJob(f.ClientSet, f.Namespace.Name, "cuda-add")
framework.ExpectNoError(err)

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package node
import (
"context"
@ -24,6 +24,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/uuid"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/upgrades"
imageutils "k8s.io/kubernetes/test/utils/image"
"github.com/onsi/ginkgo"
@ -66,7 +67,7 @@ func (t *SecretUpgradeTest) Setup(f *framework.Framework) {
// Test waits for the upgrade to complete, and then verifies that a
// pod can still consume the secret.
func (t *SecretUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *SecretUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
<-done
ginkgo.By("Consuming the secret after upgrade")
t.testPod(f)

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package upgrades
package node
import (
"context"
@ -29,6 +29,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet/sysctl"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/upgrades"
imageutils "k8s.io/kubernetes/test/utils/image"
)
@ -49,10 +50,10 @@ func (t *SysctlUpgradeTest) Setup(f *framework.Framework) {
// Test waits for the upgrade to complete, and then verifies that a
// pod can still consume the ConfigMap.
func (t *SysctlUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade UpgradeType) {
func (t *SysctlUpgradeTest) Test(f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType) {
<-done
switch upgrade {
case MasterUpgrade, ClusterUpgrade:
case upgrades.MasterUpgrade, upgrades.ClusterUpgrade:
ginkgo.By("Checking the safe sysctl pod keeps running on master upgrade")
pod, err := f.ClientSet.CoreV1().Pods(t.validPod.Namespace).Get(context.TODO(), t.validPod.Name, metav1.GetOptions{})
framework.ExpectNoError(err)