numaproj / numaplane

Control Plane for Numaproj
Apache License 2.0
4 stars 3 forks source link

NumaflowControllerRolloutReconciler should only update spec of Resources if something has changed #15

Closed juliev0 closed 4 days ago

juliev0 commented 4 weeks ago

NumaflowControllerRolloutReconciler.Reconcile() can be called for various reasons - need to make sure we only do an Update if the new spec is different from the previous.

(Consider auto-healing case in which somebody has manually modified the Numaflow Controller Deployment spec on the cluster directly and we need to overwrite it. Therefore, it's not sufficient to just make a determination if the Version number in the NumaflowControllerRollout spec changed.)

Note: this issue is related to this issue, so maybe the same person should do both.

xdevxy commented 4 days ago

This is handled by gitops engine with WithResourceModificationChecker option during syncing. Also, note that controller definition in stored as immutable config map, so it should not change once loaded.