Eduardo Habkost <ehabk...@redhat.com> writes: [...] > I would make live migration policy an enum, just to make sure > we are explicit about the requirements: > > - UNKNOWN: this is the current state in QEMU 6.0, where we don't > really know what the user expects. > This can be the default on existing versioned machine types, > just for compatibility. > I suggest making this print warnings for every migration > blocker (like this patch does). > I suggest deprecating this behavior as soon as we can. > > - PREFERRED: try to make the VM migratable when possible, but > don't print a warning or error out if migration is blocked. > This seems to be the behavior expected by libvirt today. > > - NOT_NEEDED: live migration is not needed, and QEMU is free to > enable features that block live migration or change guest ABI. > We can probably make this the default on machine types that > never supported live migration. > > - REQUIRED: live migration is required, and adding a migration > blocker would be a fatal error.
To be precise: would be an error. During initial configuration, the error is fatal, i.e. exit(1). In a QMP command, it's not; only the command fails. > This is already implemented by --only-migratable. > I suggest making this the default on versioned machine types > after a few releases, and after deprecating UNKNOWN. Makes sense to me (but of course we can still quibble about the names).