in controllers/flinkcluster/flinkcluster_reconciler.go [195:231]
func (reconciler *ClusterReconciler) reconcileComponent(
ctx context.Context,
component string,
desiredObj client.Object,
observedObj client.Object) error {
log := logr.FromContextOrDiscard(ctx).WithValues("component", component)
desiredObjIsNil := reflect.ValueOf(desiredObj).IsNil()
observedObjIsNil := reflect.ValueOf(observedObj).IsNil()
if !desiredObjIsNil && observedObjIsNil {
return reconciler.createComponent(ctx, desiredObj, component)
}
if !desiredObjIsNil && !observedObjIsNil {
var cluster = reconciler.observed.cluster
if shouldUpdateCluster(&reconciler.observed) && !isComponentUpdated(observedObj, cluster) {
var err error
if shouldRecreateOnUpdate(&reconciler.observed) {
err = reconciler.deleteComponent(ctx, desiredObj, component)
} else {
err = reconciler.updateComponent(ctx, desiredObj, component)
}
if err != nil {
return err
}
return nil
}
log.Info("Component already exists, no action", "component", component)
return nil
}
if desiredObjIsNil && !observedObjIsNil {
return reconciler.deleteComponent(ctx, observedObj, component)
}
return nil
}