Skip to content

Commit e69cb7e

Browse files
committed
Follow new way of cluster pause handling
1 parent fa4faad commit e69cb7e

File tree

3 files changed

+29
-31
lines changed

3 files changed

+29
-31
lines changed

controllers/helpers.go

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,32 +17,40 @@ limitations under the License.
1717
package controllers
1818

1919
import (
20+
"strings"
21+
22+
"github.com/go-logr/logr"
2023
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21-
clusterv1 "sigs.k8s.io/cluster-api/api/v1alpha3"
24+
"k8s.io/apimachinery/pkg/runtime"
2225
clusterutil "sigs.k8s.io/cluster-api/util"
2326
"sigs.k8s.io/controller-runtime/pkg/event"
2427
"sigs.k8s.io/controller-runtime/pkg/predicate"
2528
)
2629

27-
// TODO: Move to Cluster API
28-
var pausePredicates = predicate.Funcs{
29-
UpdateFunc: func(e event.UpdateEvent) bool {
30-
return !isPaused(nil, e.MetaNew)
31-
},
32-
CreateFunc: func(e event.CreateEvent) bool {
33-
return !isPaused(nil, e.Meta)
34-
},
35-
DeleteFunc: func(e event.DeleteEvent) bool {
36-
return !isPaused(nil, e.Meta)
37-
},
30+
func pausedPredicates(logger logr.Logger) predicate.Funcs {
31+
return predicate.Funcs{
32+
UpdateFunc: func(e event.UpdateEvent) bool {
33+
return processIfUnpaused(logger.WithValues("predicate", "updateEvent"), e.ObjectNew, e.MetaNew)
34+
},
35+
CreateFunc: func(e event.CreateEvent) bool {
36+
return processIfUnpaused(logger.WithValues("predicate", "createEvent"), e.Object, e.Meta)
37+
},
38+
DeleteFunc: func(e event.DeleteEvent) bool {
39+
return processIfUnpaused(logger.WithValues("predicate", "deleteEvent"), e.Object, e.Meta)
40+
},
41+
GenericFunc: func(e event.GenericEvent) bool {
42+
return processIfUnpaused(logger.WithValues("predicate", "genericEvent"), e.Object, e.Meta)
43+
},
44+
}
3845
}
3946

40-
// TODO: Fix up Cluster API's clusterutil.IsPaused function
41-
func isPaused(cluster *clusterv1.Cluster, v metav1.Object) bool {
42-
if cluster == nil {
43-
cluster = &clusterv1.Cluster{
44-
Spec: clusterv1.ClusterSpec{},
45-
}
47+
func processIfUnpaused(logger logr.Logger, obj runtime.Object, meta metav1.Object) bool {
48+
kind := strings.ToLower(obj.GetObjectKind().GroupVersionKind().Kind)
49+
log := logger.WithValues("namespace", meta.GetNamespace(), kind, meta.GetName())
50+
if clusterutil.HasPausedAnnotation(meta) {
51+
log.V(4).Info("Resource is paused, will not attempt to map resource")
52+
return false
4653
}
47-
return clusterutil.IsPaused(cluster, v)
54+
log.V(4).Info("Resource is not paused, will attempt to map resource")
55+
return true
4856
}

controllers/openstackcluster_controller.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,6 @@ func (r *OpenStackClusterReconciler) Reconcile(req ctrl.Request) (_ ctrl.Result,
7575
return reconcile.Result{}, err
7676
}
7777

78-
if isPaused(cluster, openStackCluster) {
79-
log.Info("OpenStackCluster or linked Cluster is marked as paused. Won't reconcile")
80-
return reconcile.Result{}, nil
81-
}
82-
8378
if cluster == nil {
8479
log.Info("Cluster Controller has not yet set OwnerRef")
8580
return reconcile.Result{}, nil
@@ -441,6 +436,6 @@ func (r *OpenStackClusterReconciler) SetupWithManager(mgr ctrl.Manager, options
441436
return ctrl.NewControllerManagedBy(mgr).
442437
WithOptions(options).
443438
For(&infrav1.OpenStackCluster{}).
444-
WithEventFilter(pausePredicates).
439+
WithEventFilter(pausedPredicates(r.Log)).
445440
Complete(r)
446441
}

controllers/openstackmachine_controller.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,6 @@ func (r *OpenStackMachineReconciler) Reconcile(req ctrl.Request) (_ ctrl.Result,
100100
return ctrl.Result{}, nil
101101
}
102102

103-
if isPaused(cluster, openStackMachine) {
104-
logger.Info("OpenStackMachine or linked Cluster is marked as paused. Won't reconcile")
105-
return ctrl.Result{}, nil
106-
}
107-
108103
logger = logger.WithValues("cluster", cluster.Name)
109104

110105
openStackCluster := &infrav1.OpenStackCluster{}
@@ -158,7 +153,7 @@ func (r *OpenStackMachineReconciler) SetupWithManager(mgr ctrl.Manager, options
158153
&source.Kind{Type: &infrav1.OpenStackCluster{}},
159154
&handler.EnqueueRequestsFromMapFunc{ToRequests: handler.ToRequestsFunc(r.OpenStackClusterToOpenStackMachines)},
160155
).
161-
WithEventFilter(pausePredicates).
156+
WithEventFilter(pausedPredicates(r.Log)).
162157
Build(r)
163158

164159
if err != nil {

0 commit comments

Comments
 (0)