Enable reconcile block via CR annotation #861
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
This PR is in reference to the issue raised here - #685
This PR provides the operator manager the ability to block reconciliation of brokers via a CR annotation. Steps on how to make use of this functionality can be found below:
Running the following command will block reconciliation:
kubectl annotate activemqartemises.broker.amq.io artemis-broker artemis.broker.amq.io/block-reconcile='true'
When this annotation is present on the CR the operator manager pod will log the following message when changes are being made to the CR while reconciliation is blocked:
INFO ActiveMQArtemisReconciler Reconcile blocked by annotation {"Request.Namespace": "activemq-artemis-operator", "Request.Name": "artemis-broker", "Reconciling": "ActiveMQArtemis"}
To unblock reconciliation run the following command to set the flag on the annotation to false:
kubectl annotate --overwrite activemqartemises.broker.amq.io artemis-broker artemis.broker.amq.io/block-reconcile='false'.
This functionality has been tested using the main branch and minikube.
I am happy to take any feedback and suggestions to help improve this solution if required.