Subject: create: verify HYPER-V support after customization From: Giuseppe Scrivano gscrivan@redhat.com Wed May 20 18:27:13 2015 +0200 Date: Wed May 20 22:48:33 2015 +0200: Git: f8af2e6b1083ec38ffa143ce4d04751f6d543362 commit 938060ae5340f6e28dc9669ba1ab79a1aa3d615e moved default devices setup to happen before UEFI is set invalidating what the commit 5acfccf6032abb9e8be89130d05b661e8b3f42c7 does. Add another check to happen before installing the guest to disable HYPER-V when not supported. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1185253 Signed-off-by: Giuseppe Scrivano Index: virt-manager-1.2.0/virtManager/create.py =================================================================== --- virt-manager-1.2.0.orig/virtManager/create.py +++ virt-manager-1.2.0/virtManager/create.py @@ -1790,6 +1790,7 @@ class vmmCreate(vmmGObjectUI): if not self.is_visible(): return logging.debug("User finished customize dialog, starting install") + guest.check_defaults() self.start_install(guest) def config_canceled(ignore): Index: virt-manager-1.2.0/virtinst/guest.py =================================================================== --- virt-manager-1.2.0.orig/virtinst/guest.py +++ virt-manager-1.2.0/virtinst/guest.py @@ -814,6 +814,18 @@ class Guest(XMLBuilder): return False return True + def check_defaults(self): + # This is used only by virt-manager to reset any defaults that may have + # changed through manual intervention via the customize wizard. + if not self._hv_supported(): + self.features.hyperv_relaxed = None + self.features.hyperv_vapic = None + self.features.hyperv_spinlocks = None + self.features.hyperv_spinlocks_retries = None + for i in self.clock.timers: + if i.name == "hypervclock": + self.clock.remove_timer(i) + def _set_feature_defaults(self): if self.os.is_container(): self.features.acpi = None