libvirt: Create option to enable parallel live migration

Registered by Fabian Wiesel

With increasing network speed, live-migration becomes quickly CPU bound.
QEMU introduced with 2.11 multifd, and libvirt with 5.2.0 VIR_MIGRATE_PARALLEL
options to parallelise the migration with multiple threads.

Since both versions precede the current minimum versions, there are no additional
requirements, and we simply can expose the feature as a configuration options to
the administrator with a default value that preserves the existing behaviour.

The configuration just needs to be set on the source host to take an effect, so no orchestration
of the change is needed.

The default could be
`[libvirt]live_migration_parallel_connections=1`,
which would
- not set the `VIR_MIGRATE_PARALLEL` flag for the live-migration enabling the options,
- and neither pass the option `parallel.connections` to `migrateToURI3`,
keeping the existing behavior.

Blueprint information

Status:
Complete
Approver:
Uggla
Priority:
Undefined
Drafter:
Fabian Wiesel
Direction:
Needs approval
Assignee:
Fabian Wiesel
Definition:
Superseded
Series goal:
Accepted for 2025.2
Implementation:
Deferred
Milestone target:
None
Completed by
Uggla

Related branches

Sprints

Whiteboard

Addressed by: https://review.opendev.org/c/openstack/nova/+/950667
    libvirt: Expose number of migration threads

[2025MMDD Uggla] approved SLBP for Flamingo
sean: ah ok becasue there is a spec for it so i was expecting this to be next cycle
https://review.opendev.org/q/topic:%22libvirt-parallel-migrate%22
 but i guess we can try and review it in time.

the deadlien for specless bluerpint to be approve was milestone 2.

[20250829 Uggla] Spec is deferred. Sadly we missed the review of that one. :(

[20251107 Uggla] This BP is replaced by this one: https://blueprints.launchpad.net/nova/+spec/libvirt-parallel-migrate

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.