Problem
start_cluster() calls stages sequentially but has no health verification between them. If MySQL servers are started but not fully healthy (due to BF-1 / #34), start_mysql_mgmt() proceeds and fails when MySQL Router can't connect. The root cause is obscured by downstream failures.
File: src/initialize.py, start_cluster()
Fix
def start_cluster(self) -> None:
self.start_mysql_servers()
self._verify_mysql_cluster_ready() # New: confirm all 3 nodes healthy
self.start_mysql_mgmt(MASTER)
self._verify_mgmt_ready(MASTER) # New: confirm Router + keepalived
self.start_mysql_mgmt(BACKUP)
self._verify_mgmt_ready(BACKUP)
self.start_superset()
Acceptance Criteria
Problem
start_cluster()calls stages sequentially but has no health verification between them. If MySQL servers are started but not fully healthy (due to BF-1 / #34),start_mysql_mgmt()proceeds and fails when MySQL Router can't connect. The root cause is obscured by downstream failures.File:
src/initialize.py,start_cluster()Fix
Acceptance Criteria
start_cluster()_verify_mysql_cluster_ready()confirms all 3 MySQL nodes healthy beforestart_mysql_mgmt()_verify_mgmt_ready()confirms Router and keepalived healthy before next stage