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" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
"k8s.io/kubernetes/test/e2e/upgrades" "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/e2e/upgrades/storage"
"k8s.io/kubernetes/test/utils/junit" "k8s.io/kubernetes/test/utils/junit"
@ -55,42 +59,42 @@ var (
const etcdImage = "3.4.9-1" const etcdImage = "3.4.9-1"
var upgradeTests = []upgrades.Test{ var upgradeTests = []upgrades.Test{
&upgrades.ServiceUpgradeTest{}, &network.ServiceUpgradeTest{},
&upgrades.SecretUpgradeTest{}, &node.SecretUpgradeTest{},
&apps.ReplicaSetUpgradeTest{}, &apps.ReplicaSetUpgradeTest{},
&apps.StatefulSetUpgradeTest{}, &apps.StatefulSetUpgradeTest{},
&apps.DeploymentUpgradeTest{}, &apps.DeploymentUpgradeTest{},
&apps.JobUpgradeTest{}, &apps.JobUpgradeTest{},
&upgrades.ConfigMapUpgradeTest{}, &node.ConfigMapUpgradeTest{},
&upgrades.HPAUpgradeTest{}, &autoscaling.HPAUpgradeTest{},
&storage.PersistentVolumeUpgradeTest{}, &storage.PersistentVolumeUpgradeTest{},
&apps.DaemonSetUpgradeTest{}, &apps.DaemonSetUpgradeTest{},
&upgrades.AppArmorUpgradeTest{}, &node.AppArmorUpgradeTest{},
&storage.VolumeModeDowngradeTest{}, &storage.VolumeModeDowngradeTest{},
} }
var gpuUpgradeTests = []upgrades.Test{ var gpuUpgradeTests = []upgrades.Test{
&upgrades.NvidiaGPUUpgradeTest{}, &node.NvidiaGPUUpgradeTest{},
} }
var statefulsetUpgradeTests = []upgrades.Test{ var statefulsetUpgradeTests = []upgrades.Test{
&upgrades.MySQLUpgradeTest{}, &apps.MySQLUpgradeTest{},
&upgrades.EtcdUpgradeTest{}, &apps.EtcdUpgradeTest{},
&upgrades.CassandraUpgradeTest{}, &apps.CassandraUpgradeTest{},
} }
var kubeProxyUpgradeTests = []upgrades.Test{ var kubeProxyUpgradeTests = []upgrades.Test{
&upgrades.KubeProxyUpgradeTest{}, &network.KubeProxyUpgradeTest{},
&upgrades.ServiceUpgradeTest{}, &network.ServiceUpgradeTest{},
} }
var kubeProxyDowngradeTests = []upgrades.Test{ var kubeProxyDowngradeTests = []upgrades.Test{
&upgrades.KubeProxyDowngradeTest{}, &network.KubeProxyDowngradeTest{},
&upgrades.ServiceUpgradeTest{}, &network.ServiceUpgradeTest{},
} }
var serviceaccountAdmissionControllerMigrationTests = []upgrades.Test{ var serviceaccountAdmissionControllerMigrationTests = []upgrades.Test{
&upgrades.ServiceAccountAdmissionControllerMigrationTest{}, &auth.ServiceAccountAdmissionControllerMigrationTest{},
} }
// masterUpgrade upgrades master node on GCE/GKE. // 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. limitations under the License.
*/ */
package upgrades package apps
import ( import (
"context" "context"
@ -34,6 +34,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset" e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset"
e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles" e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles"
"k8s.io/kubernetes/test/e2e/upgrades"
) )
const cassandraManifestPath = "test/e2e/testing-manifests/statefulset/cassandra" const cassandraManifestPath = "test/e2e/testing-manifests/statefulset/cassandra"
@ -49,7 +50,7 @@ type CassandraUpgradeTest struct {
func (CassandraUpgradeTest) Name() string { return "cassandra-upgrade" } func (CassandraUpgradeTest) Name() string { return "cassandra-upgrade" }
// Skip returns true when this test can be skipped. // 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") minVersion := version.MustParseSemantic("1.6.0")
for _, vCtx := range upgCtx.Versions { for _, vCtx := range upgCtx.Versions {
if vCtx.Version.LessThan(minVersion) { 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 // 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 // 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. // 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.") ginkgo.By("Continuously polling the database during upgrade.")
var ( var (
success, failures, writeAttempts, lastUserCount int 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. limitations under the License.
*/ */
package upgrades package apps
import ( import (
"context" "context"

View File

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

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package upgrades package apps
import ( import (
"context" "context"
@ -34,6 +34,7 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset" e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset"
e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles" e2etestfiles "k8s.io/kubernetes/test/e2e/framework/testfiles"
"k8s.io/kubernetes/test/e2e/upgrades"
) )
const manifestPath = "test/e2e/testing-manifests/statefulset/etcd" const manifestPath = "test/e2e/testing-manifests/statefulset/etcd"
@ -48,7 +49,7 @@ type EtcdUpgradeTest struct {
func (EtcdUpgradeTest) Name() string { return "etcd-upgrade" } func (EtcdUpgradeTest) Name() string { return "etcd-upgrade" }
// Skip returns true when this test can be skipped. // 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") minVersion := version.MustParseSemantic("1.6.0")
for _, vCtx := range upgCtx.Versions { for _, vCtx := range upgCtx.Versions {
if vCtx.Version.LessThan(minVersion) { 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. // 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.") ginkgo.By("Continuously polling the database during upgrade.")
var ( var (
success, failures, writeAttempts, lastUserCount int 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. limitations under the License.
*/ */
package upgrades package apps
import ( import (
"context" "context"

View File

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

View File

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

View File

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

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package upgrades package auth
import ( import (
"context" "context"
@ -28,6 +28,7 @@ import (
e2eauth "k8s.io/kubernetes/test/e2e/auth" e2eauth "k8s.io/kubernetes/test/e2e/auth"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
"k8s.io/kubernetes/test/e2e/upgrades"
imageutils "k8s.io/kubernetes/test/utils/image" 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 // 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. // 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") ginkgo.By("Waiting for upgrade to finish")
<-done <-done

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package upgrades package autoscaling
import ( import (
"fmt" "fmt"
@ -23,6 +23,7 @@ import (
autoscalingv1 "k8s.io/api/autoscaling/v1" autoscalingv1 "k8s.io/api/autoscaling/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eautoscaling "k8s.io/kubernetes/test/e2e/framework/autoscaling" e2eautoscaling "k8s.io/kubernetes/test/e2e/framework/autoscaling"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo" "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. // 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 // Block until upgrade is done
ginkgo.By(fmt.Sprintf("Waiting for upgrade to finish before checking HPA")) ginkgo.By(fmt.Sprintf("Waiting for upgrade to finish before checking HPA"))
<-done <-done

View File

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package upgrades package network
import ( import (
"context" "context"
@ -29,6 +29,7 @@ import (
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node" e2enode "k8s.io/kubernetes/test/e2e/framework/node"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo" "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. // 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 c := f.ClientSet
// Block until upgrade is done. // 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. // 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 c := f.ClientSet
// Block until upgrade is done. // 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. limitations under the License.
*/ */
package upgrades package network
import ( import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2eservice "k8s.io/kubernetes/test/e2e/framework/service" e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
"k8s.io/kubernetes/test/e2e/upgrades"
"github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
@ -85,11 +86,11 @@ func (t *ServiceUpgradeTest) Setup(f *framework.Framework) {
} }
// Test runs a connectivity check to the service. // 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 { switch upgrade {
case MasterUpgrade, ClusterUpgrade: case upgrades.MasterUpgrade, upgrades.ClusterUpgrade:
t.test(f, done, true, true) t.test(f, done, true, true)
case NodeUpgrade: case upgrades.NodeUpgrade:
// Node upgrades should test during disruption only on GCE/GKE for now. // Node upgrades should test during disruption only on GCE/GKE for now.
t.test(f, done, shouldTestPDBs(), false) t.test(f, done, shouldTestPDBs(), false)
default: default:

View File

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

View File

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

View File

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

View File

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

View File

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