Description

The upgrade will not go through if there is any error in the health check. This article explains how to fix the health check error due to an issue with rook-ceph.


Symptoms

When we try to upgrade, we get the error below during the health check:


======================================================

Overall cluster status

======================================================

                            

RED

                            

======================================================

Please review the statuses below and check for any failures

======================================================

                            

======================================================

Check Rook ceph status

======================================================

                            

NOT OK

Rook ceph status: HEALTH_ERR

 

                            

2026-09-22 22:42:16 Health status checking completed!

 

=======================================================

 

[Error] Deployment cluster is in bad state. Please fix it before trying to upgrade.


The same can be seen when we use the command "request deployment health-check"


You will get the below error while checking ceph status:


kubectl exec -ti -n rook-ceph $(kubectl get po -n rook-ceph -l app=rook-ceph-tools -o jsonpath={..metadata.name}) -- ceph status

 

 cluster:

  id:   bcdfc374-39c3-407b-8a2d-c5289db4f2d0

  health: HEALTH_ERR

      Module 'rook' has failed: (429)

Reason: Too Many Requests

HTTP response headers: HTTPHeaderDict({'Audit-Id': '5c3d0c98-e172-4717-8c6b-b3249e50823b', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Retry-After': '1', 'X-Kubernetes-Pf-Flowschema-Uid': '9fe352d7-df58-4135-8061-6a49ea5171b0', 'X-Kubernetes-Pf-Prioritylevel-Uid': '9a173f80-487c-4870-b168-dc080cecd0bb', 'Date': 'Tue, 08 Sep 2026 10:29:27 GMT', 'Content-Length': '181'})

HTTP response body: b'{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"storage is (re)initializing","reason":"TooManyRequests","details":{"retryAfterSeconds":1},"code":429}\n'

 

The 429 response indicates that the requested Kubernetes resource was not yet available because the API server's backing storage or resource cache was still initializing. As a result, the Ceph rook manager module marked itself as failed

Solution

To fix the issue, please do a rollout restart for all pods in the rook-ceph namespace using the command below:


kubectl rollout restart deployment -n rook-ceph


If you still face the issue, please contact JTAC for assistance.

Modification History

2026-09-26 : Article Created