[master] hook failed: "db-router-relation-departed" - during test_803_remove_fourth test
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MySQL InnoDB Cluster Charm |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Essentially, another race condition.
juju status:
Model Controller Cloud/Region Version SLA Timestamp
zaza-e602f27ff35f serverstack-
App Version Status Scale Charm Channel Rev Exposed Message
keystone 21.0.0 active 1 keystone yoga/stable 595 no Application Ready
keystone-
mysql-innodb-
prometheus2 active 1 prometheus2 stable 52 no Ready
vault 1.7.9 active 1 vault 1.7/stable 107 no Unit is ready (active: true, mlock: enabled)
vault-mysql-router 8.0.33 active 1 mysql-router latest/edge 79 no Unit is ready
Unit Workload Agent Machine Public address Ports Message
keystone/0* active idle 0 172.16.0.28 5000/tcp Unit is ready
keystone-
mysql-innodb-
mysql-innodb-
mysql-innodb-
mysql-innodb-
prometheus2/0* active idle 4 172.16.0.217 9090/tcp,12321/tcp Ready
vault/0* active idle 5 172.16.0.41 8200/tcp Unit is ready (active: true, mlock: enabled)
vault-
Machine State Address Inst id Series AZ Message
0 started 172.16.0.28 39274ef4-
1 started 172.16.0.228 704308d7-
3 started 172.16.0.246 06b7e491-
4 started 172.16.0.217 f327528c-
5 started 172.16.0.41 aac0bb0c-
6 started 172.16.0.176 a2db224a-
7 started 172.16.0.188 4e7e7443-
Error from log:
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 WARNING unit.mysql-
2023-05-19 13:06:22 ERROR juju.worker.
Relevant code from src/lib/
def get_cluster_
"""Get cluster status mode
Return cluster.
"R/W" or "R/O" depending on the mode of this instance in the cluster.
If cached data exists and is not explicity avoided with the nocache
parameter, avoid the call to self.get_
:param nocache: Do not return cached data
:type nocache: Boolean
:side effect: Calls self.get_
:returns: String mode. i.e. "R/W" or "R/O"
:rtype: Union[None, str]
"""
if self._cached_
_status = self._cached_
else:
_status = self.get_
if not _status:
return
return (_status[
Proposed fix:
Put a try-except around the final return, and return None on KeyError. Just need to check that propagating the None won't cause problems.
Changed in charm-mysql-innodb-cluster: | |
assignee: | nobody → Alex Kavanagh (ajkavanagh) |
Changed in charm-mysql-innodb-cluster: | |
status: | Fix Committed → Fix Released |
assignee: | Alex Kavanagh (ajkavanagh) → nobody |
Fix proposed to branch: master /review. opendev. org/c/openstack /charm- mysql-innodb- cluster/ +/883698
Review: https:/