@@ -142,13 +142,9 @@ func (c *Controller) addCluster(lg *logrus.Entry, clusterName spec.NamespacedNam
142
142
return cl
143
143
}
144
144
145
- func (c * Controller ) processEvent (obj interface {}) error {
145
+ func (c * Controller ) processEvent (event spec. ClusterEvent ) {
146
146
var clusterName spec.NamespacedName
147
147
148
- event , ok := obj .(spec.ClusterEvent )
149
- if ! ok {
150
- return fmt .Errorf ("could not cast to ClusterEvent" )
151
- }
152
148
lg := c .logger .WithField ("worker" , event .WorkerID )
153
149
154
150
if event .EventType == spec .EventAdd || event .EventType == spec .EventSync {
@@ -166,7 +162,7 @@ func (c *Controller) processEvent(obj interface{}) error {
166
162
case spec .EventAdd :
167
163
if clusterFound {
168
164
lg .Debugf ("cluster already exists" )
169
- return nil
165
+ return
170
166
}
171
167
172
168
lg .Infof ("creation of the cluster started" )
@@ -177,7 +173,7 @@ func (c *Controller) processEvent(obj interface{}) error {
177
173
cl .Error = fmt .Errorf ("could not create cluster: %v" , err )
178
174
lg .Error (cl .Error )
179
175
180
- return nil
176
+ return
181
177
}
182
178
183
179
lg .Infoln ("cluster has been created" )
@@ -186,13 +182,13 @@ func (c *Controller) processEvent(obj interface{}) error {
186
182
187
183
if ! clusterFound {
188
184
lg .Warnln ("cluster does not exist" )
189
- return nil
185
+ return
190
186
}
191
187
if err := cl .Update (event .NewSpec ); err != nil {
192
188
cl .Error = fmt .Errorf ("could not update cluster: %v" , err )
193
189
lg .Error (cl .Error )
194
190
195
- return nil
191
+ return
196
192
}
197
193
cl .Error = nil
198
194
lg .Infoln ("cluster has been updated" )
@@ -202,12 +198,12 @@ func (c *Controller) processEvent(obj interface{}) error {
202
198
lg .Infoln ("Deletion of the cluster started" )
203
199
if ! clusterFound {
204
200
lg .Errorf ("unknown cluster: %q" , clusterName )
205
- return nil
201
+ return
206
202
}
207
203
208
204
if err := cl .Delete (); err != nil {
209
205
lg .Errorf ("could not delete cluster: %v" , err )
210
- return nil
206
+ return
211
207
}
212
208
213
209
func () {
@@ -238,14 +234,12 @@ func (c *Controller) processEvent(obj interface{}) error {
238
234
if err := cl .Sync (); err != nil {
239
235
cl .Error = fmt .Errorf ("could not sync cluster: %v" , err )
240
236
lg .Error (cl .Error )
241
- return nil
237
+ return
242
238
}
243
239
cl .Error = nil
244
240
245
241
lg .Infof ("cluster has been synced" )
246
242
}
247
-
248
- return nil
249
243
}
250
244
251
245
func (c * Controller ) processClusterEventsQueue (idx int , stopCh <- chan struct {}, wg * sync.WaitGroup ) {
@@ -257,13 +251,20 @@ func (c *Controller) processClusterEventsQueue(idx int, stopCh <-chan struct{},
257
251
}()
258
252
259
253
for {
260
- if _ , err := c .clusterEventQueues [idx ].Pop (cache .PopProcessFunc (c .processEvent )); err != nil {
254
+ obj , err := c .clusterEventQueues [idx ].Pop (cache .PopProcessFunc (func (interface {}) error { return nil }))
255
+ if err != nil {
261
256
if err == cache .FIFOClosedError {
262
257
return
263
258
}
264
-
265
259
c .logger .Errorf ("error when processing cluster events queue: %v" , err )
260
+ continue
261
+ }
262
+ event , ok := obj .(spec.ClusterEvent )
263
+ if ! ok {
264
+ c .logger .Errorf ("could not cast to ClusterEvent" )
266
265
}
266
+
267
+ c .processEvent (event )
267
268
}
268
269
}
269
270
0 commit comments