diff --git a/pkg/controller/volume/attachdetach/BUILD b/pkg/controller/volume/attachdetach/BUILD index 07cef00df60..cbe1e7f99bf 100644 --- a/pkg/controller/volume/attachdetach/BUILD +++ b/pkg/controller/volume/attachdetach/BUILD @@ -19,6 +19,7 @@ go_library( "//pkg/client/informers/informers_generated/externalversions/core/v1:go_default_library", "//pkg/client/listers/core/v1:go_default_library", "//pkg/cloudprovider:go_default_library", + "//pkg/controller:go_default_library", "//pkg/controller/volume/attachdetach/cache:go_default_library", "//pkg/controller/volume/attachdetach/populator:go_default_library", "//pkg/controller/volume/attachdetach/reconciler:go_default_library", diff --git a/pkg/controller/volume/attachdetach/attach_detach_controller.go b/pkg/controller/volume/attachdetach/attach_detach_controller.go index dbb47c3ad5c..8e0260561ea 100644 --- a/pkg/controller/volume/attachdetach/attach_detach_controller.go +++ b/pkg/controller/volume/attachdetach/attach_detach_controller.go @@ -36,6 +36,7 @@ import ( coreinformers "k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/core/v1" corelisters "k8s.io/kubernetes/pkg/client/listers/core/v1" "k8s.io/kubernetes/pkg/cloudprovider" + "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/populator" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/reconciler" @@ -224,12 +225,9 @@ func (adc *attachDetachController) Run(stopCh <-chan struct{}) { glog.Infof("Starting attach detach controller") defer glog.Infof("Shutting down attach detach controller") - // TODO uncomment once we agree this is ok and we fix the attach/detach integration test that - // currently fails because it doesn't set pvcsSynced and pvsSynced to alwaysReady, so this - // controller never runs. - // if !controller.WaitForCacheSync("attach detach", stopCh, adc.podsSynced, adc.nodesSynced, adc.pvcsSynced, adc.pvsSynced) { - // return - // } + if !controller.WaitForCacheSync("attach detach", stopCh, adc.podsSynced, adc.nodesSynced, adc.pvcsSynced, adc.pvsSynced) { + return + } go adc.reconciler.Run(stopCh) go adc.desiredStateOfWorldPopulator.Run(stopCh) diff --git a/test/integration/volume/attach_detach_test.go b/test/integration/volume/attach_detach_test.go index d17dab52372..f24dcdd72e2 100644 --- a/test/integration/volume/attach_detach_test.go +++ b/test/integration/volume/attach_detach_test.go @@ -115,6 +115,8 @@ func TestPodDeletionWithDswp(t *testing.T) { // start controller loop stopCh := make(chan struct{}) + go informers.Core().V1().PersistentVolumeClaims().Informer().Run(stopCh) + go informers.Core().V1().PersistentVolumes().Informer().Run(stopCh) go ctrl.Run(stopCh) waitToObservePods(t, podInformer, 1)