Skip to content

Commit 0d4cff0

Browse files
committed
Add statefulset filterfuncs
* Copy the filter funcs from @wcmitchell's PR :)
1 parent e89994e commit 0d4cff0

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

controllers/cloud.redhat.com/clowdapp_controller.go

+1
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ func (r *ClowdAppReconciler) SetupWithManager(mgr ctrl.Manager) error {
203203
watchers := []Watcher{
204204
{obj: &apps.Deployment{}, filter: deploymentFilter},
205205
{obj: &core.Service{}, filter: generationOnlyFilter},
206+
{obj: &apps.StatefulSet{}, filter: statefulSetFilter},
206207
{obj: &core.ConfigMap{}, filter: generationOnlyFilter},
207208
{obj: &core.Secret{}, filter: alwaysFilter},
208209
}

controllers/cloud.redhat.com/clowdenvironment_controller.go

+1
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ func (r *ClowdEnvironmentReconciler) SetupWithManager(mgr ctrl.Manager) error {
234234
{obj: &apps.Deployment{}, filter: deploymentFilter},
235235
{obj: &core.Service{}, filter: alwaysFilter},
236236
{obj: &core.Secret{}, filter: alwaysFilter},
237+
{obj: &apps.StatefulSet{}, filter: statefulSetFilter},
237238
}
238239

239240
if clowderconfig.LoadedConfig.Features.WatchStrimziResources {

controllers/cloud.redhat.com/filters.go

+19
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,21 @@ func deploymentUpdateFunc(e event.UpdateEvent) bool {
6666
return false
6767
}
6868

69+
func statefulSetUpdateFunc(e event.UpdateEvent) bool {
70+
objOld := e.ObjectOld.(*apps.StatefulSet)
71+
objNew := e.ObjectNew.(*apps.StatefulSet)
72+
if objNew.GetGeneration() != objOld.GetGeneration() {
73+
return true
74+
}
75+
if (objOld.Status.AvailableReplicas != objNew.Status.AvailableReplicas) && (objNew.Status.AvailableReplicas == objNew.Status.ReadyReplicas) {
76+
return true
77+
}
78+
if (objOld.Status.AvailableReplicas == objOld.Status.ReadyReplicas) && (objNew.Status.AvailableReplicas != objNew.Status.ReadyReplicas) {
79+
return true
80+
}
81+
return false
82+
}
83+
6984
func kafkaUpdateFunc(e event.UpdateEvent) bool {
7085
objOld := e.ObjectOld.(*strimzi.Kafka)
7186
objNew := e.ObjectNew.(*strimzi.Kafka)
@@ -114,6 +129,10 @@ func deploymentFilter(logr logr.Logger, ctrlName string) HandlerFuncs {
114129
return genFilterFunc(deploymentUpdateFunc, logr, ctrlName)
115130
}
116131

132+
func statefulSetFilter(logr logr.Logger, ctrlName string) HandlerFuncs {
133+
return genFilterFunc(statefulSetUpdateFunc, logr, ctrlName)
134+
}
135+
117136
func kafkaFilter(logr logr.Logger, ctrlName string) HandlerFuncs {
118137
return genFilterFunc(kafkaUpdateFunc, logr, ctrlName)
119138
}

0 commit comments

Comments
 (0)