-
Notifications
You must be signed in to change notification settings - Fork 306
Description
Is your feature request related to a problem? Please describe.
In #171080093, we added a couple of conditions. As a result, we now have the infrastructure to implement all the other conditions.
At the moment our CR status doesn't report on reconciliation progress and potential failures during reconciliation.
Describe the solution you'd like
In this story, let's implement the conditions related to reconciliation as we discussed previously.
Conditions:
Reconcilable:
- Bubble up errors during reconcile. Irreconcilable CR, Validation failures
- True state is the happy state.
InProgress (represents if the cluster is being reconciled) as discussed, InProgress will be addressed in a separate issue
Add these in the status field of the Cluster CRD. Set them during reconciliation.
For each condition above:
Scenario: Reconcilable Happy path 😀
Given that I deploy a RMQ cluster
And there are no reconciliation failures for any k8s child resource
When I describe the RabbitMQCluster CR
Then I see the condition `Reconcilable` in the status field set to `True`
Scenario: Reconcilable Unhappy path 🙁
Given that I deploy a RMQ cluster
And a k8s child resource fails to reconcile
When I describe the RabbitMQCluster CR
Then I see the `Reconcilable` condition in the status field set to `False`
And the condition has a reason and a message field explaining the conditition status
Describe alternatives you've considered
See design document.
Additional context
The conditions should follow the Kubernetes API conventions.
This document has the conclusions of our team meeting and how we want the conditions to look like.
Edit: Reconcilable condition happy state is True. It was False before.