in controllers/dsmaster_controller.go [375:407]
func (r *Predicate) Update(evt event.UpdateEvent) bool {
switch evt.ObjectNew.(type) {
case *dsv1alpha1.DSMaster:
oldC := evt.ObjectOld.(*dsv1alpha1.DSMaster)
newC := evt.ObjectNew.(*dsv1alpha1.DSMaster)
// Only care about size, repo,version and paused fields
if oldC.Spec.Replicas != newC.Spec.Replicas {
return true
}
if oldC.Spec.Paused != newC.Spec.Paused {
return true
}
if oldC.Spec.Version != newC.Spec.Version {
return true
}
if oldC.Spec.Repository != newC.Spec.Repository {
return true
}
// If cluster has been marked as deleted, check if we have removed our finalizer
// If it has our finalizer, indicating our cleaning up works has not been done.
if oldC.DeletionTimestamp.IsZero() && !newC.DeletionTimestamp.IsZero() {
if controllerutil.ContainsFinalizer(newC, dsv1alpha1.FinalizerName) {
return true
}
}
}
return false
}