Description of problem: When enabling user workload monitoring then in the openshift-user-workload-monitoring project, a "prometheus" and a "thanosruler" object are created from which the associated controler creates statefulsets etc. For both, two replicas are created. In the "prometheus" object, there is an anti affinity rule in the specification, for the "thanosruler", it is missing. Often, then the thanos-ruler pods are created on the same node and this causes "HighlyAvailableWorkloadIncorrectlySpread" alerts. It would be easy to add such a rule to the "thanosruler" object as well but the operator needs to do it. How reproducible: 100% Steps to Reproduce: 1. enable user workload monitoring 2. sometimes the thanos-ruler isntances both run on the same node 3. this causes an alert. Actual results: both thanos-ruler instances sometimes run on the same node Expected results: the two thanos-ruler instances should always run on different nodes Additional info: The thanosruler API object supports an anti affinity rule: https://docs.openshift.com/container-platform/4.9/rest_api/monitoring_apis/thanosruler-monitoring-coreos-com-v1.html But the monitoring operator needs to use it.
*** This bug has been marked as a duplicate of bug 1955490 ***