Skip to content

Commit be422b4

Browse files
ivanmatmatioktalz
authored andcommitted
BUG: wait for k8s events from default local service
1 parent 9d7190f commit be422b4

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

pkg/controller/global.go

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ package controller
1616

1717
import (
1818
"fmt"
19+
"time"
1920

2021
"github.com/go-test/deep"
2122

@@ -204,8 +205,14 @@ func populateDefaultLocalBackendResources(k8sStore store.K8s, eventChan chan k8s
204205
},
205206
},
206207
}
207-
eventChan <- k8s.SyncDataEvent{SyncType: k8s.SERVICE, Namespace: item.Namespace, Data: item}
208-
208+
eventProcessed := make(chan struct{})
209+
eventChan <- k8s.SyncDataEvent{SyncType: k8s.SERVICE, Namespace: item.Namespace, Data: item, EventProcessed: eventProcessed}
210+
timerService := time.NewTimer(time.Second)
211+
defer timerService.Stop()
212+
select {
213+
case <-timerService.C:
214+
case <-eventProcessed:
215+
}
209216
endpoints := &store.Endpoints{
210217
Namespace: podNs,
211218
Service: store.DefaultLocalBackend,
@@ -218,7 +225,14 @@ func populateDefaultLocalBackendResources(k8sStore store.K8s, eventChan chan k8s
218225
},
219226
},
220227
}
221-
eventChan <- k8s.SyncDataEvent{SyncType: k8s.ENDPOINTS, Namespace: endpoints.Namespace, Data: endpoints}
228+
eventProcessed = make(chan struct{})
229+
eventChan <- k8s.SyncDataEvent{SyncType: k8s.ENDPOINTS, Namespace: endpoints.Namespace, Data: endpoints, EventProcessed: eventProcessed}
230+
timerEndpoints := time.NewTimer(time.Second)
231+
defer timerEndpoints.Stop()
232+
select {
233+
case <-timerEndpoints.C:
234+
case <-eventProcessed:
235+
}
222236
} else {
223237
defaultLocalService.Annotations = k8sStore.ConfigMaps.Main.Annotations
224238
}

0 commit comments

Comments
 (0)