Skip to content

Commit f0eed15

Browse files
MAISTRA-1755 invoke UpdateNamespaces() as part of MemberRollController.Register() (istio#169)
Signed-off-by: rcernich <[email protected]> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 0a19cbb commit f0eed15

File tree

15 files changed

+45
-36
lines changed

15 files changed

+45
-36
lines changed

galley/pkg/config/source/kube/rt/dynamic.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func (p *Provider) getDynamicAdapter(r resource.Schema) *Adapter {
7474
})
7575

7676
if p.mrc != nil {
77-
p.mrc.Register(mlw)
77+
p.mrc.Register(mlw, fmt.Sprintf("galley-%s", r.GroupVersionKind().String()))
7878
}
7979

8080
informer := cache.NewSharedIndexInformer(mlw, &unstructured.Unstructured{}, p.resyncPeriod,

galley/pkg/config/source/kube/rt/known.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func (p *Provider) initKnownAdapters() {
6868
})
6969

7070
if p.mrc != nil {
71-
p.mrc.Register(mlw)
71+
p.mrc.Register(mlw, "galley-service")
7272
}
7373

7474
informer := cache.NewSharedIndexInformer(mlw, &v1.Service{}, p.resyncPeriod,
@@ -177,7 +177,7 @@ func (p *Provider) initKnownAdapters() {
177177
})
178178

179179
if p.mrc != nil {
180-
p.mrc.Register(mlw)
180+
p.mrc.Register(mlw, "galley-pods")
181181
}
182182

183183
informer := cache.NewSharedIndexInformer(mlw, &v1.Pod{}, p.resyncPeriod,
@@ -226,7 +226,7 @@ func (p *Provider) initKnownAdapters() {
226226
})
227227

228228
if p.mrc != nil {
229-
p.mrc.Register(mlw)
229+
p.mrc.Register(mlw, "galley-secrets")
230230
}
231231

232232
informer := cache.NewSharedIndexInformer(mlw, &v1.Secret{}, p.resyncPeriod,
@@ -274,7 +274,7 @@ func (p *Provider) initKnownAdapters() {
274274
})
275275

276276
if p.mrc != nil {
277-
p.mrc.Register(mlw)
277+
p.mrc.Register(mlw, "galley-endpoints")
278278
}
279279

280280
informer := cache.NewSharedIndexInformer(mlw, &v1.Endpoints{}, p.resyncPeriod,
@@ -334,7 +334,7 @@ func (p *Provider) initKnownAdapters() {
334334
})
335335

336336
if p.mrc != nil {
337-
p.mrc.Register(mlw)
337+
p.mrc.Register(mlw, "galley-ingresses")
338338
}
339339

340340
informer := cache.NewSharedIndexInformer(mlw, &v1beta1.Ingress{}, p.resyncPeriod,
@@ -421,7 +421,7 @@ func (p *Provider) initKnownAdapters() {
421421
})
422422

423423
if p.mrc != nil {
424-
p.mrc.Register(mlw)
424+
p.mrc.Register(mlw, "galley-deployments")
425425
}
426426

427427
informer := cache.NewSharedIndexInformer(mlw, &appsv1.Deployment{}, p.resyncPeriod,
@@ -468,7 +468,7 @@ func (p *Provider) initKnownAdapters() {
468468
})
469469

470470
if p.mrc != nil {
471-
p.mrc.Register(mlw)
471+
p.mrc.Register(mlw, "galley-configmaps")
472472
}
473473

474474
informer := cache.NewSharedIndexInformer(mlw, &v1.ConfigMap{}, p.resyncPeriod,

mixer/pkg/runtime/handler/env.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func (e env) NewInformer(
154154

155155
mlw := listwatch.MultiNamespaceListerWatcher(*e.namespaces, listerWatcher)
156156
if e.mrc != nil {
157-
e.mrc.Register(mlw)
157+
e.mrc.Register(mlw, "mixer-env")
158158
}
159159
return cache.NewSharedIndexInformer(mlw, objType, duration, indexers)
160160
}

pilot/pkg/config/kube/crd/controller/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ func (c *controller) newCacheHandler(
232232

233233
mlw := listwatch.MultiNamespaceListerWatcher(namespaces, lwf)
234234
if mrc != nil {
235-
mrc.Register(mlw)
235+
mrc.Register(mlw, fmt.Sprintf("pilot-cache-%s", otype))
236236
}
237237

238238
// TODO: finer-grained index (perf)

pilot/pkg/config/kube/ingress/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func NewController(client kubernetes.Interface, mrc meshcontroller.MemberRollCon
153153
})
154154

155155
if mrc != nil {
156-
mrc.Register(mlw)
156+
mrc.Register(mlw, "pilot-ingress-controller")
157157
}
158158

159159
informer := cache.NewSharedIndexInformer(mlw, &ingress.Ingress{}, options.ResyncPeriod,

pilot/pkg/config/kube/ingress/status.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func NewStatusSyncer(mesh *meshconfig.MeshConfig,
101101
})
102102

103103
if mrc != nil {
104-
mrc.Register(mlw)
104+
mrc.Register(mlw, "pilot-ingress-status")
105105
}
106106

107107
informer := cache.NewSharedIndexInformer(mlw, &v1beta1.Ingress{}, options.ResyncPeriod,

pilot/pkg/serviceregistry/kube/controller/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ func NewController(client kubernetes.Interface, metadataClient metadata.Interfac
278278
})
279279

280280
if mrc != nil {
281-
mrc.Register(svcMlw)
281+
mrc.Register(svcMlw, "pilot-service")
282282
}
283283

284284
c.services = cache.NewSharedIndexInformer(svcMlw, &v1.Service{}, options.ResyncPeriod,

pilot/pkg/serviceregistry/kube/controller/endpoints.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func newEndpointsController(c *Controller, mrc meshcontroller.MemberRollControll
5656
})
5757

5858
if mrc != nil {
59-
mrc.Register(mlw)
59+
mrc.Register(mlw, "pilot-endpoints")
6060
}
6161

6262
informer := cache.NewSharedIndexInformer(mlw, &v1.Endpoints{}, options.ResyncPeriod,

pilot/pkg/serviceregistry/kube/controller/endpointslice.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func newEndpointSliceController(c *Controller, mrc meshcontroller.MemberRollCont
6060
})
6161

6262
if mrc != nil {
63-
mrc.Register(mlw)
63+
mrc.Register(mlw, "pilot-endpointslice")
6464
}
6565

6666
informer := cache.NewSharedIndexInformer(mlw, &discoveryv1alpha1.EndpointSlice{}, options.ResyncPeriod,

pilot/pkg/serviceregistry/kube/controller/namespacecontroller.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ type NamespaceController struct {
6666
// Controller and store for ConfigMap objects
6767
configMapController cache.Controller
6868

69-
// if this is true, we don't create a K8s controller, but only react on namespace changes
69+
// if this is not null, we don't create a K8s controller, but only react on namespace changes
7070
// coming from the MRC
71-
usesMemberRollController bool
71+
mrc meshcontroller.MemberRollController
7272

7373
// only used if usesMemberRollController is true
7474
started bool
@@ -140,9 +140,8 @@ func NewNamespaceController(data func() map[string]string, options Options, kube
140140
c.configMapController = configmapInformer
141141

142142
if mrc != nil {
143-
mrc.Register(mlw)
144-
mrc.Register(c)
145-
c.usesMemberRollController = true
143+
mrc.Register(mlw, "pilot-configmap")
144+
c.mrc = mrc
146145
return c
147146
}
148147

@@ -166,22 +165,28 @@ func NewNamespaceController(data func() map[string]string, options Options, kube
166165

167166
// Run starts the NamespaceController until a value is sent to stopCh.
168167
func (nc *NamespaceController) Run(stopCh <-chan struct{}) {
169-
if nc.usesMemberRollController {
168+
var syncs []cache.InformerSynced
169+
if nc.mrc != nil {
170170
nc.mutex.Lock()
171171
nc.started = true
172172
nc.mutex.Unlock()
173+
174+
log.Infof("Namespace controller (MRC) started")
175+
nc.mrc.Register(nc, "pilot-namespace")
176+
173177
go func() {
174178
<-stopCh
175179
nc.mutex.Lock()
176180
nc.started = false
177181
nc.mutex.Unlock()
178182
}()
179-
log.Infof("Namespace controller (MRC) started")
180-
return
183+
} else {
184+
go nc.namespaceController.Run(stopCh)
185+
syncs = append(syncs, nc.namespaceController.HasSynced)
181186
}
182-
go nc.namespaceController.Run(stopCh)
183187
go nc.configMapController.Run(stopCh)
184-
cache.WaitForCacheSync(stopCh, nc.namespaceController.HasSynced, nc.configMapController.HasSynced)
188+
syncs = append(syncs, nc.configMapController.HasSynced)
189+
cache.WaitForCacheSync(stopCh, syncs...)
185190
log.Infof("Namespace controller started")
186191
go nc.queue.Run(stopCh)
187192
}

0 commit comments

Comments
 (0)