courtmanr@gmail.com
17117c32ef
Close the unclassified-node window in cross-instance node aggregation
...
Support evidence from the MSP case showed the clusters mix without ever
sharing a corosync name and without the config-layer consolidation
firing, which rules out the same-name path and points one layer down.
Two mechanisms combine there. A newly added connection whose add-time
cluster detection failed (#437 ) commits its first polls' nodes with an
empty cluster name, because pollPVEInstance ran membership detection
after the node-state commit - and every aggregation guard deliberately
lets empty cluster names merge freely. And host agents key their
identity on /etc/machine-id, which cloned template deployments reuse
across sites, so two different pve01 machines collapse into one agent
row whose shared LinkedAgentID then folds the unclassified node into
the established cluster's slot, overwriting it - the reported "enacon
appeared renamed to rewo" data loss.
Weak-evidence folds across connection instances - a bare-hostname
endpoint alias or a shared linked-agent identity - now require positive
same-machine proof (matching non-empty cluster identity or matching TLS
fingerprints) whenever cluster identity is in play on either side. Two
views that are both unclassified still dedup freely, and address-based
endpoint aliases keep folding on the contradiction checks alone, so the
designed standalone-into-cluster folds survive. PVE polling now also
runs cluster membership detection before the cycle's node-state commit
and re-reads the refreshed instance config, so nodes carry their
cluster identity from the first state write whenever detection
succeeds instead of transiting aggregation unclassified.
Reported via support by an MSP running clusters enacon and rewo that
reuse pve01/pve02 node names across sites.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 12:07:44 +01:00
..
2026-03-18 16:06:30 +00:00
2026-07-20 22:41:19 +01:00
2026-07-23 11:19:50 +01:00
2026-07-23 11:19:50 +01:00
2026-07-17 16:09:06 +01:00
2026-07-27 11:13:04 +01:00
2026-07-27 11:13:04 +01:00
2026-07-27 11:13:04 +01:00
2026-07-27 11:13:04 +01:00
2026-07-27 11:13:04 +01:00
2026-07-27 11:13:04 +01:00
2025-11-26 23:44:36 +00:00
2025-10-20 15:13:37 +00:00
2026-02-07 22:05:55 +00:00
2026-03-18 16:06:30 +00:00
2026-07-27 11:13:04 +01:00
2026-06-02 14:52:47 +01:00
2026-07-24 12:40:05 +01:00
2026-07-26 19:31:15 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-22 06:42:33 +01:00
2026-07-11 18:25:17 +01:00
2026-07-11 18:25:17 +01:00
2025-12-01 17:33:36 +00:00
2026-03-18 16:06:30 +00:00
2026-06-26 11:35:12 +01:00
2026-06-26 11:35:12 +01:00
2026-04-01 19:14:12 +01:00
2026-07-24 00:19:40 +01:00
2026-07-10 00:05:22 +01:00
2026-07-10 00:05:22 +01:00
2026-06-25 20:30:38 +01:00
2026-07-23 22:19:35 +01:00
2026-06-04 10:35:35 +01:00
2026-06-04 10:35:35 +01:00
2026-07-19 09:13:14 +01:00
2026-07-16 20:55:09 +01:00
2026-07-16 20:55:09 +01:00
2026-07-23 22:33:07 +01:00
2026-01-01 22:29:15 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2025-10-14 16:13:53 +00:00
2025-11-12 09:47:02 +00:00
2026-07-02 23:52:02 +01:00
2026-07-02 23:52:02 +01:00
2026-07-10 00:14:01 +01:00
2026-05-19 22:37:55 +01:00
2026-01-28 16:52:35 +00:00
2026-07-13 09:41:11 +01:00
2026-05-05 14:59:29 +01:00
2026-04-22 09:22:46 +01:00
2026-07-24 00:19:40 +01:00
2026-07-24 00:19:40 +01:00
2026-06-27 17:41:00 +01:00
2026-07-24 00:19:40 +01:00
2026-07-24 00:19:40 +01:00
2026-07-24 00:19:40 +01:00
2026-04-01 18:38:42 +01:00
2026-06-04 14:07:14 +01:00
2026-07-26 20:03:46 +01:00
2026-07-24 15:46:56 +01:00
2026-07-03 10:43:28 +01:00
2026-07-07 09:46:51 +01:00
2025-11-26 23:44:36 +00:00
2026-07-23 22:17:25 +01:00
2026-07-20 16:03:29 +01:00
2026-07-21 20:30:54 +01:00
2026-07-23 22:19:35 +01:00
2026-07-24 10:26:50 +01:00
2026-07-26 19:31:15 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-14 17:03:14 +01:00
2026-07-16 09:50:04 +01:00
2026-07-23 22:33:07 +01:00
2026-04-11 22:46:34 +01:00
2026-02-04 19:49:52 +00:00
2026-02-04 19:49:52 +00:00
2026-04-12 09:41:29 +01:00
2026-06-11 19:42:40 +01:00
2026-06-11 19:42:40 +01:00
2026-07-24 10:26:50 +01:00
2026-07-24 00:19:40 +01:00
2026-07-24 22:37:29 +01:00
2026-07-23 22:05:09 +01:00
2026-07-23 22:33:07 +01:00
2025-12-01 21:18:33 +00:00
2025-11-27 09:16:53 +00:00
2026-02-04 19:35:19 +00:00
2026-07-20 04:21:26 +01:00
2026-07-20 06:30:55 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-07-23 14:03:44 +01:00
2026-07-23 14:03:44 +01:00
2026-07-20 06:30:55 +01:00
2026-06-09 21:42:21 +01:00
2026-06-09 21:42:21 +01:00
2026-01-22 13:39:06 +00:00
2026-07-24 22:37:29 +01:00
2026-07-27 11:13:04 +01:00
2026-07-20 20:27:39 +01:00
2026-07-26 20:03:46 +01:00
2026-07-20 20:27:39 +01:00
2026-07-23 21:54:57 +01:00
2026-07-20 16:03:29 +01:00
2026-07-17 16:09:06 +01:00
2026-07-26 20:03:46 +01:00
2026-05-05 14:19:50 +01:00
2026-07-18 19:39:56 +01:00
2026-07-23 14:55:44 +01:00
2026-07-26 20:03:46 +01:00
2026-05-05 16:25:00 +01:00
2026-07-24 09:45:05 +01:00
2026-07-24 09:45:05 +01:00
2026-07-24 15:46:56 +01:00
2026-06-04 09:11:07 +01:00
2025-11-18 22:57:20 +00:00
2026-06-11 10:23:49 +01:00
2026-07-24 22:34:54 +01:00
2026-07-24 12:42:16 +01:00
2026-07-24 11:59:50 +01:00
2026-07-26 20:03:46 +01:00
2025-10-20 15:13:38 +00:00
2026-06-14 11:07:47 +01:00
2026-07-24 12:40:05 +01:00
2026-07-24 15:46:56 +01:00
2026-07-24 22:34:54 +01:00
2026-07-24 15:46:56 +01:00
2026-07-26 20:03:46 +01:00
2026-05-01 20:28:12 +01:00
2026-04-11 14:51:10 +01:00
2026-06-09 21:42:21 +01:00
2026-06-11 13:12:59 +01:00
2026-05-25 20:35:58 +01:00
2026-07-27 10:00:33 +01:00
2026-07-12 02:53:01 +01:00
2026-07-24 09:45:05 +01:00
2026-07-24 10:26:50 +01:00
2026-07-24 09:45:05 +01:00
2026-07-26 12:42:22 +01:00
2026-05-08 19:53:03 +01:00
2026-07-24 22:37:29 +01:00
2026-07-27 10:00:33 +01:00
2026-07-27 10:00:33 +01:00
2026-07-16 09:26:53 +01:00
2026-03-18 16:06:30 +00:00
2026-07-24 11:21:27 +01:00
2026-06-10 16:19:24 +01:00
2026-07-24 22:37:29 +01:00
2026-07-24 10:11:56 +01:00
2026-05-13 19:00:02 +01:00
2026-04-01 19:14:12 +01:00
2026-07-23 22:43:34 +01:00
2026-07-24 15:46:56 +01:00
2026-07-24 15:46:56 +01:00
2026-07-23 22:05:09 +01:00
2026-07-24 10:26:50 +01:00
2026-07-24 22:37:29 +01:00
2026-07-24 22:37:29 +01:00
2026-07-24 10:26:50 +01:00
2026-07-24 10:26:50 +01:00
2026-07-24 22:37:29 +01:00
2026-07-27 12:07:44 +01:00
2026-07-24 10:26:50 +01:00
2026-03-18 16:06:30 +00:00
2026-07-24 00:19:40 +01:00
2026-07-24 11:21:27 +01:00
2026-07-27 12:07:44 +01:00
2026-01-04 10:29:40 +00:00
2026-07-26 12:42:22 +01:00
2026-07-26 12:42:23 +01:00
2026-03-18 16:06:30 +00:00
2026-07-26 20:03:46 +01:00
2026-07-26 20:03:46 +01:00
2026-03-18 16:06:30 +00:00
2026-07-26 20:03:46 +01:00
2026-05-17 18:45:24 +01:00
2026-01-05 23:34:33 +00:00
2026-03-18 16:06:30 +00:00
2026-07-23 22:19:35 +01:00
2026-07-24 12:42:16 +01:00
2026-03-18 16:06:30 +00:00
2026-07-27 11:13:04 +01:00
2026-05-05 12:59:59 +01:00
2026-07-16 16:25:10 +01:00
2026-07-21 21:24:15 +01:00
2026-07-16 15:17:45 +01:00
2026-07-20 07:50:22 +01:00
2026-07-23 22:33:07 +01:00
2026-04-01 10:04:30 +01:00
2026-07-24 15:46:56 +01:00
2026-07-24 00:19:40 +01:00
2026-04-11 22:46:34 +01:00
2026-02-07 22:05:55 +00:00
2026-01-14 12:26:18 +00:00
2026-07-19 15:10:38 +01:00
2026-07-19 15:10:38 +01:00
2026-07-18 11:54:09 +01:00
2026-07-18 11:54:09 +01:00
2026-06-10 09:19:51 +01:00
2026-07-26 12:42:22 +01:00
2026-03-18 16:06:30 +00:00
2026-07-13 11:04:09 +01:00
2026-07-13 11:04:09 +01:00
2026-07-24 10:11:56 +01:00
2026-07-22 06:42:33 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-24 10:26:50 +01:00
2026-07-24 10:26:50 +01:00
2026-07-23 22:24:52 +01:00
2026-07-23 22:24:52 +01:00
2026-03-26 22:58:27 +00:00
2026-03-31 15:42:16 +01:00
2026-07-23 07:15:13 +01:00
2026-07-23 01:10:38 +01:00
2026-07-23 01:10:38 +01:00
2026-07-24 10:26:50 +01:00
2026-07-16 09:26:53 +01:00
2026-07-16 09:26:53 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-01-06 17:44:52 +00:00
2026-01-06 17:44:52 +00:00
2026-02-04 19:33:29 +00:00
2025-12-02 12:02:13 +00:00
2026-03-18 16:06:30 +00:00
2026-07-23 06:34:03 +01:00
2026-06-11 16:00:25 +01:00
2026-06-11 16:00:25 +01:00
2026-07-24 12:40:05 +01:00
2026-07-24 00:10:17 +01:00
2026-07-25 00:21:35 +01:00
2026-05-22 20:26:56 +01:00
2026-07-23 22:06:57 +01:00