Skip to content

Status field should tell me about reconciliation failure #10

@st3v

Description

@st3v

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions