Start with stratumctl admin readiness: each finding names its fix. Findings
clear by themselves once the gap closes. For a single node’s install problems,
see Troubleshooting the install.
| Symptom |
Fix |
| Stage 1’s code check fails |
It names the part. The address does not answer: check the NIC, the address and that a code is live (TCP 9444). The code is wrong, expired or burned: create a new one. |
The cluster runs another release (RELEASE_MISMATCH) |
Install from the ISO the message names, or let an older ISO upgrade itself. |
The machine never appears in joins list |
On the machine, journalctl -u stratum-join. Replace a wrong code with stratum-installer join --endpoint ADDRESS --code CODE. |
It is needs-upgrade for long |
See what it waits for and the last failure in joins list. The release must still be available to the cluster. |
| Approved, but not joining |
WAITING FOR says why: the cluster is not READY, another node is joining, an upgrade runs, or a node has not applied the membership. |
Stuck at join/patroni |
Postgres on the joiner is not streaming from the primary. journalctl -u postgres-ha on the joiner has the cause. |
A join failed |
The step and error are on the record. Fix the cause, then stratumctl admin nodes joins retry <id>. |
| Refused: more than 16 waiting, or an upgrade is running |
Approve or reject the waiting ones, or try again after the upgrade. |
MembershipLagging |
A node has not applied the membership: journalctl -u stratum-membership-converge on it. |
| Finding or symptom |
Fix |
StoragePathMTU, OverlayPathMTU |
A network’s MTU is above what its path carries. Fix the path or lower the MTU. |
BondDegraded |
A bond has fewer than two ports attached, or a port has no link. cat /proc/net/bonding/<bond> on the node. |
ProviderTopologyDisagrees |
A node wires VM traffic another way than the cluster. Reinstall it as a joiner: the approval defaults to the cluster’s. |
ProviderUplinkMissing |
A bridged node has no uplink on its provider bridge, so its floating IPs go nowhere. Fix its provider NIC or VLAN. |
UnderlayRoleMismatch |
A node’s links do not carry what the cluster declares, so cross-node instance traffic is dropped. Compare its NIC roles. |
| Instances on different nodes cannot talk |
Overlay MTU, or the overlay VLAN is not trunked between the nodes. |
| Symptom |
Fix |
| Setting up Ceph does not start |
A node’s storage path fails its MTU, cephadm is missing or the wrong version on a node (CephadmMissing, CephadmVersionMismatch), or a host has too little memory. The status names which. |
CephBootstrapFailed |
Fix the reason in the message, then ask again. |
409 NO_STORAGE_CLASS |
Create a storage class. |
Object storage and managed databases disabled |
Deploy the object gateway. |
OperatorRecipeNeverBuilt |
Build the operator images. |
Ceph in HEALTH_WARN after maintenance |
A flag was left on: unset it (Ceph). |
CEPHADM_REFRESH_FAILED |
A device scan stuck after a failover: reboot the node once. |
| Symptom |
Fix |
| The API does not answer |
curl http://NODE:8443/startupz on each node names the phase it is in. postgres-wait for long means a wedged raft: Recovery. |
| An address (VIP) is not held by anyone |
A service has no leader, or keepalived on the holder is down. GET /v1/ha/status, then journalctl -u keepalived. |
A node shows unknown |
Its heartbeat lapsed. Power it on or repair it: when a node dies. |
TimeNotSynced |
A node’s clock is not synchronised: check its NTP servers. |
| What |
Where |
| A node’s install |
/var/log/stratum/install.log, and stratum-installer diagnostics -o diagnostics.tgz on the first node |
| A joiner |
journalctl -u stratum-join |
| Membership and peer lists |
journalctl -u stratum-membership-converge |
| Raft self-repair |
journalctl -u stratum-raft-doctor |
| The control plane |
journalctl -u stratum-controlplane |
The cluster’s logs are also in the platform’s log store; see
Observability.