Migrate Virtual Machines from one hypervisor to another?

What is the currently accepted method for migrating VMs between hypervisors? I currently have two libvirt hypervisors defined as compute resources in my Foreman setup. I can easily provision VMs to either of them. The question is, after I’ve provisioned a VM to one of the hypervisors, can I migrate the VM to my other hypervisor afterward using Foreman? If Foreman doesn’t have the means to do this then I assume I can just use standard KVM tools to migrate the VM. If I do that, however, does Foreman figure out on its own that the VM has been moved to a different compute resource? How would I keep Foreman in sync with the current setup in that case?

Would the standard procedure be to unregister the VM from Foreman first, migrate the VM to the other hypervisor using KVM, and then re-register the VM to Foreman?

Continuing the discussion from Migrate Virtual Machines from one hypervisor to another?:

I just found the following bug: Bug #10220: Virtual machines disks not correct after moving from one kvm to another - Foreman

This bug report seems to imply that the process to migrate a VM from one hypervisor to another is the following:

  1. power off vm
  2. clone disk(s) to another kvmhost (both kvmhosts are in foreman)
  3. undefine from source and define using exact copy of xml on target kvmhost
  4. go to the target compute resource in foreman and associate vm:s

I haven’t tried following these steps yet, but is this still the standard procedure? Given that there’s a bug related to this topic that hasn’t been updated since June of 2016, I suspect this is still an issue.