func()

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
}