* stable/queens
- MIN_LIBVIRT_VERSION is v1.2.9
- VIR_MIGRATE_PERSIST_DEST flag always provided
- VIR_MIGRATE_PARAM_DEST_XML provided when libvirt is >= v1.2.17
- migrateToURI2 used when libvirt is between v1.2.9 and v1.2.16
- migrateToURI3 used when libvirt is >= v1.2.17
* stable/rocky
- MIN_LIBVIRT_VERSION is v1.3.1
- VIR_MIGRATE_PERSIST_DEST flag always provided
- VIR_MIGRATE_PARAM_DEST_XML always provided
- migrateToURI3 always used
So on stable/queens with libvirt between v1.2.17 and v1.3.4 we should see VIR_MIGRATE_PARAM_DEST_XML persisted on the destination via migrateToURI3.
When libvirt is between v1.2.9 and v1.2.16 we actually end up calling migrateToURI2 that I believe persists the domain_xml we provide as a kwarg when calling libvirt.
So AFAICT < v1.3.4 we are safe from hitting this and we only need to care about the > v1.3.4 case on all branches from stable/queens.
Trying to summarise c#43 in terms of Nova:
* stable/queens PERSIST_ DEST flag always provided PARAM_DEST_ XML provided when libvirt is >= v1.2.17
- MIN_LIBVIRT_VERSION is v1.2.9
- VIR_MIGRATE_
- VIR_MIGRATE_
- migrateToURI2 used when libvirt is between v1.2.9 and v1.2.16
- migrateToURI3 used when libvirt is >= v1.2.17
* stable/rocky PERSIST_ DEST flag always provided PARAM_DEST_ XML always provided
- MIN_LIBVIRT_VERSION is v1.3.1
- VIR_MIGRATE_
- VIR_MIGRATE_
- migrateToURI3 always used
So on stable/queens with libvirt between v1.2.17 and v1.3.4 we should see VIR_MIGRATE_ PARAM_DEST_ XML persisted on the destination via migrateToURI3.
When libvirt is between v1.2.9 and v1.2.16 we actually end up calling migrateToURI2 that I believe persists the domain_xml we provide as a kwarg when calling libvirt.
So AFAICT < v1.3.4 we are safe from hitting this and we only need to care about the > v1.3.4 case on all branches from stable/queens.