Skip to content

Commit 7f3e109

Browse files
author
YuChen
committed
set cpp cm as watches to trigger reconciliation
Signed-off-by: YuChen <yuchen.shen@mail.utoronto.ca>
1 parent 01889f6 commit 7f3e109

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

internal/controller/commonservice_controller.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,26 @@ func (r *CommonServiceReconciler) mappingToCsRequestForOperandRegistry() handler
500500
}
501501
}
502502

503+
func (r *CommonServiceReconciler) mappingToCsRequestForConfigMap() handler.MapFunc {
504+
return func(object client.Object) []reconcile.Request {
505+
configMap, ok := object.(*corev1.ConfigMap)
506+
if !ok {
507+
return nil
508+
}
509+
510+
if configMap.Name == constant.IBMCPPCONFIG && configMap.Namespace == r.Bootstrap.CSData.ServicesNs {
511+
// Trigger reconcile of the master CR when ibm-cpp-config changes
512+
return []reconcile.Request{
513+
{NamespacedName: types.NamespacedName{
514+
Name: constant.MasterCR,
515+
Namespace: r.Bootstrap.CSData.OperatorNs,
516+
}},
517+
}
518+
}
519+
return nil
520+
}
521+
}
522+
503523
func (r *CommonServiceReconciler) isODLMManagedSubscription() handler.MapFunc {
504524
return func(object client.Object) []reconcile.Request {
505525
subscription, ok := object.(*olmv1alpha1.Subscription)
@@ -557,6 +577,20 @@ func (r *CommonServiceReconciler) SetupWithManager(mgr ctrl.Manager) error {
557577
UpdateFunc: func(e event.UpdateEvent) bool {
558578
return true
559579
},
580+
})).
581+
Watches(
582+
&source.Kind{Type: &corev1.ConfigMap{}},
583+
handler.EnqueueRequestsFromMapFunc(r.mappingToCsRequestForConfigMap()),
584+
builder.WithPredicates(predicate.Funcs{
585+
CreateFunc: func(e event.CreateEvent) bool {
586+
return true
587+
},
588+
DeleteFunc: func(e event.DeleteEvent) bool {
589+
return false // We don't care about deletions
590+
},
591+
UpdateFunc: func(e event.UpdateEvent) bool {
592+
return true
593+
},
560594
}))
561595
if isOpregAPI, err := r.Bootstrap.CheckCRD(constant.OpregAPIGroupVersion, constant.OpregKind); err != nil {
562596
klog.Errorf("Failed to check if OperandRegistry CRD exists: %v", err)

0 commit comments

Comments
 (0)