-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
True
-
-
-
USER PROBLEM
After the introduction of the status controller we currently have two problems in the operator:
- The status controller's reconciler currently kicks in not only on Deployment status changes but also on Deployment spec changes, which is not desired.
- The predicate plugged into the helm-reconciler which is expected to filter out updates from the status controller does not work correctly: helm-operator code instantiates this predicate with unstructured.Unstructured objects, which causes the predicate to always return true, thus allowing reconciliation. The predicate needs to be adjusted to also work correctly in the unstructured.Unstructured case.
Additionally, the predicate mentioned in 2. makes a subtle assumption leading to very simple code, which is considered slightly problematic, even though it currently holds in practice; instead of checking if a given update event contains changes by the status-controller, it should invert the logic for correctness and instead check if the update event contains changes which are not coming from the status-controller.