Fixed ResourceConsumer.CleanUp to properly clean up non-replication-controller resources and pods.
This commit is contained in:
@@ -23,10 +23,13 @@ import (
|
||||
"time"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
autoscalingv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1"
|
||||
extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
@@ -58,9 +61,9 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
KindRC = "replicationController"
|
||||
KindDeployment = "deployment"
|
||||
KindReplicaSet = "replicaset"
|
||||
KindRC = "ReplicationController"
|
||||
KindDeployment = "Deployment"
|
||||
KindReplicaSet = "ReplicaSet"
|
||||
subresource = "scale"
|
||||
)
|
||||
|
||||
@@ -378,12 +381,27 @@ func (rc *ResourceConsumer) CleanUp() {
|
||||
close(rc.stopCustomMetric)
|
||||
// Wait some time to ensure all child goroutines are finished.
|
||||
time.Sleep(10 * time.Second)
|
||||
framework.ExpectNoError(framework.DeleteRCAndPods(rc.framework.ClientSet, rc.framework.InternalClientset, rc.framework.Namespace.Name, rc.name))
|
||||
kind, err := kindOf(rc.kind)
|
||||
framework.ExpectNoError(err)
|
||||
framework.ExpectNoError(framework.DeleteResourceAndPods(rc.framework.ClientSet, rc.framework.InternalClientset, kind, rc.framework.Namespace.Name, rc.name))
|
||||
framework.ExpectNoError(rc.framework.ClientSet.Core().Services(rc.framework.Namespace.Name).Delete(rc.name, nil))
|
||||
framework.ExpectNoError(framework.DeleteRCAndPods(rc.framework.ClientSet, rc.framework.InternalClientset, rc.framework.Namespace.Name, rc.controllerName))
|
||||
framework.ExpectNoError(framework.DeleteResourceAndPods(rc.framework.ClientSet, rc.framework.InternalClientset, api.Kind("ReplicationController"), rc.framework.Namespace.Name, rc.controllerName))
|
||||
framework.ExpectNoError(rc.framework.ClientSet.Core().Services(rc.framework.Namespace.Name).Delete(rc.controllerName, nil))
|
||||
}
|
||||
|
||||
func kindOf(kind string) (schema.GroupKind, error) {
|
||||
switch kind {
|
||||
case KindRC:
|
||||
return api.Kind(kind), nil
|
||||
case KindReplicaSet:
|
||||
return extensionsinternal.Kind(kind), nil
|
||||
case KindDeployment:
|
||||
return extensionsinternal.Kind(kind), nil
|
||||
default:
|
||||
return schema.GroupKind{}, fmt.Errorf("Unsupported kind: %v", kind)
|
||||
}
|
||||
}
|
||||
|
||||
func runServiceAndWorkloadForResourceConsumer(c clientset.Interface, internalClient internalclientset.Interface, ns, name, kind string, replicas int, cpuLimitMillis, memLimitMb int64) {
|
||||
By(fmt.Sprintf("Running consuming RC %s via %s with %v replicas", name, kind, replicas))
|
||||
_, err := c.Core().Services(ns).Create(&v1.Service{
|
||||
|
Reference in New Issue
Block a user