@Pilow They would have the same IP address, the new XO is just a new Docker container on the same physical host but with a new database (different version of Redis on ARM so couldn't like-for-like re-use). There is only 1 XO running, 100% certain. The snapshots in the audit log now reflect XO as having initiated them, where before it was the host itself (fallback) - this may all be magically resolved now, but I'm not home to look yet.
No, I made a backup of all my VMs before the warm migration, but the backup was made on the new XO instance, successfully, backing up the VMs on the old hosts (XCP1 & XCP2).
So the full process I took was:
2 weeks ago, downed old XO
Brought up brand new XO (fresh Redis DB), imported config, all working
This weekend, spun up 2 new XCP hosts (lot of drama but we will ignore that) XC1 & XC2
Created new pool containing the new XCP hosts (XC1 & XC2)
Initiated a backup of all VMs on old host pool (XCP1 & XCP2) using an existing scheduled backup - manually triggered - backup succeeds
Warm migrate VMs from pool XCP1/XCP2 to XC1/XC2 - success
Disable old host pool XCP1/XCP2, VMs working as expected
Snapshot a warm migrated VM - detached snapshot - snapshotting a VM created natively on XC1/XC2 does not have this issue
Removed old pool XCP1/XCP2 entirely from XO - this solved the audit logs side of things (I think this is XAPI)
Logs now show VM info correctly, but frontend still displays a detached snapshot
My guess is that it may think the snapshots were happening on the old pool/old VM, not the warm migrated copy, or something like that.
I will update the thread if I manage to resolve everything, I'll keep an eye out anyway in case someone from Vates knows any more on this!