Merge pull request #25080 from derekwaynecarr/quota_controller_close_channels

Quota integration test was not closing launched controllers
This commit is contained in:
Fabio Yeon 2016-05-10 15:49:59 -07:00
commit c4a2724eb2

View File

@ -19,6 +19,7 @@ limitations under the License.
package integration package integration
import ( import (
"fmt"
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
"testing" "testing"
@ -37,7 +38,6 @@ import (
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/master" "k8s.io/kubernetes/pkg/master"
quotainstall "k8s.io/kubernetes/pkg/quota/install" quotainstall "k8s.io/kubernetes/pkg/quota/install"
"k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/pkg/watch"
"k8s.io/kubernetes/plugin/pkg/admission/resourcequota" "k8s.io/kubernetes/plugin/pkg/admission/resourcequota"
"k8s.io/kubernetes/test/integration/framework" "k8s.io/kubernetes/test/integration/framework"
@ -75,8 +75,11 @@ func TestQuota(t *testing.T) {
} }
close(initializationCh) close(initializationCh)
controllerCh := make(chan struct{})
defer close(controllerCh)
go replicationcontroller.NewReplicationManagerFromClient(clientset, controller.NoResyncPeriodFunc, replicationcontroller.BurstReplicas, 4096). go replicationcontroller.NewReplicationManagerFromClient(clientset, controller.NoResyncPeriodFunc, replicationcontroller.BurstReplicas, 4096).
Run(3, wait.NeverStop) Run(3, controllerCh)
resourceQuotaRegistry := quotainstall.NewRegistry(clientset) resourceQuotaRegistry := quotainstall.NewRegistry(clientset)
groupKindsToReplenish := []unversioned.GroupKind{ groupKindsToReplenish := []unversioned.GroupKind{
@ -94,7 +97,7 @@ func TestQuota(t *testing.T) {
ReplenishmentResyncPeriod: controller.NoResyncPeriodFunc, ReplenishmentResyncPeriod: controller.NoResyncPeriodFunc,
ControllerFactory: resourcequotacontroller.NewReplenishmentControllerFactoryFromClient(clientset), ControllerFactory: resourcequotacontroller.NewReplenishmentControllerFactoryFromClient(clientset),
} }
go resourcequotacontroller.NewResourceQuotaController(resourceQuotaControllerOptions).Run(2, wait.NeverStop) go resourcequotacontroller.NewResourceQuotaController(resourceQuotaControllerOptions).Run(2, controllerCh)
startTime := time.Now() startTime := time.Now()
scale(t, api.NamespaceDefault, clientset) scale(t, api.NamespaceDefault, clientset)
@ -194,6 +197,7 @@ func scale(t *testing.T, namespace string, clientset *clientset.Clientset) {
switch cast := event.Object.(type) { switch cast := event.Object.(type) {
case *api.ReplicationController: case *api.ReplicationController:
fmt.Printf("Found %v of %v replicas\n", int(cast.Status.Replicas), target)
if int(cast.Status.Replicas) == target { if int(cast.Status.Replicas) == target {
return true, nil return true, nil
} }