Closed legal90 closed 2 months ago
This is expected up to a point. The default sync period in the Operator is 3 hours, so you should have seen the change after that time.
What happens here is the Operator thinks it has done its work, the Atlas state and the Kubernetes definition matches and so the next check will be in 3 hours.
Note there is no way for the operator to know the UI or any other agent with access to Altas made some changes. It can only learn about next time it tries to reconcile.
Last time I checked, there was nothing on our roadmap to change or make that sync period configurable.
Can you confirm you did not see changes for more than 3 hours since last reconcile? That would be a bug we would need to investigate.
Hi @legal90. We confirmed the bug. It looks like the informers do not trigger our reconcilers. We're working on this issue.
What did you do to encounter the bug? Steps to reproduce the behavior:
AtlasDatabaseUser
resourceNow the declarative configuration in k8s,
AtlasDatabaseUser
, does not match the real state of the object in Atlas.What did you expect? The controller should periodically reconcile the object which it controls via
AtlasDatabaseUser
resource - it should read the actual state from Atlas API, compare it with the desired state declared inAtlasDatabaseUser
resource and reconcile it - update theWhat happened instead? Operator does nothing to reconcile the DB user in Atlas - changes made manually in UI are never overridden. I waited for > 4 hours - no reaction. There are no any new log message in the controller's log, which points to the fact that operator doesn't re-read the object state from API.
The reconciliation only happens when you restart the controller pod or update the
AtlasDatabaseUser
resource in k8s.Operator Information
Kubernetes Cluster Information
Additional context YAML definition: