Provisionning error state happens when the static timeout for the cluster to be online is exceeded.
However, we never check again if the cluster is online afterward. We should store the last time the status of the cluster was updated, and check on the cluster periodically to confirm wether it is healthy or not.