lib: don't send CPUID settings in vCPU device state payload #848
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove the CPUID portion of the vCPU device state payload that gets sent during live migration. #847 prevented this payload from being constructed correctly. With #844 in place, however, the instance specs that targets receive during live migrations will always contain the source's explicitly-applied CPUID settings, even if the VM's "original" instance spec (the one used to create it) contained no explicit CPUID values. This means there's no longer any need to transfer these settings in the device state phase.
Upgrade PHD's
cpuid_boot_test
to detect this issue and verify the fix.This change breaks the migrate-from-base tests because migration targets with the fix no longer accept all of the payload offers from sources without the fix. (In the future, when this sort of change is no longer allowed, targets that no longer care about a segment of a source device's payload offering will have to consume that segment explicitly but then ignore its contents.)
Fixes #847.