From 6898bc60ce2d9fca73f7ec9d46cd187f8cad6c4b Mon Sep 17 00:00:00 2001 From: Tomas Smetana Date: Fri, 17 Mar 2017 13:34:53 +0100 Subject: [PATCH] Attach/detach controller: fix potential race in constructor --- .../attachdetach/attach_detach_controller.go | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkg/controller/volume/attachdetach/attach_detach_controller.go b/pkg/controller/volume/attachdetach/attach_detach_controller.go index 4d9487ee48b..5266019ad78 100644 --- a/pkg/controller/volume/attachdetach/attach_detach_controller.go +++ b/pkg/controller/volume/attachdetach/attach_detach_controller.go @@ -103,20 +103,6 @@ func NewAttachDetachController( cloud: cloud, } - podInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{ - AddFunc: adc.podAdd, - UpdateFunc: adc.podUpdate, - DeleteFunc: adc.podDelete, - }) - adc.podsSynced = podInformer.Informer().HasSynced - - nodeInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{ - AddFunc: adc.nodeAdd, - UpdateFunc: adc.nodeUpdate, - DeleteFunc: adc.nodeDelete, - }) - adc.nodesSynced = nodeInformer.Informer().HasSynced - if err := adc.volumePluginMgr.InitPlugins(plugins, adc); err != nil { return nil, fmt.Errorf("Could not initialize volume plugins for Attach/Detach Controller: %+v", err) } @@ -153,6 +139,20 @@ func NewAttachDetachController( podInformer.Lister(), adc.desiredStateOfWorld) + podInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{ + AddFunc: adc.podAdd, + UpdateFunc: adc.podUpdate, + DeleteFunc: adc.podDelete, + }) + adc.podsSynced = podInformer.Informer().HasSynced + + nodeInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{ + AddFunc: adc.nodeAdd, + UpdateFunc: adc.nodeUpdate, + DeleteFunc: adc.nodeDelete, + }) + adc.nodesSynced = nodeInformer.Informer().HasSynced + return adc, nil }