-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
False
-
None
-
False
-
-
-
Moderate
-
None
Description of problem:
MCO makes extensive use of DeepDerivative to compare two resources before making an update to a resource. The problem is that when using DeepDerivative with resources that contain a list in their structure the function will return false (meaning the resources are the same) if resource a1 has more list members than resource a2. This means some updates will not occur and will go unnoticed. This bug was found while working on https://github.com/stolostron/multicluster-observability-operator/pull/1592 but I suspect as I've previously mentioned that this might happen for every k8s resource that contains a list in its structure (i.e ClusterRole, ClusterRoleBinding, etc).
Version-Release number of selected component (if applicable): 2.12
How reproducible: Always
Steps to Reproduce:
- ...
Actual results:
MCO doesn't update the resource when the existing resource has a list with more items.
Expected results:
MCO should always update the resource if it differs from the current existing one.