nova/nova/virt/libvirt
Konstantinos Samaras-Tsakiris ca543438e1 Hide hypervisor id on windows guests
Blueprints hide-hypervisor-id-flavor-extra-spec [1] and
add-kvm-hidden-feature [2] allow hiding KVM's signature for guests,
which is necessary for Nvidia drivers to work in VMs with passthrough
GPUs.  While this works well for linux guests on KVM, it doesn't work
for Windows guests.

For them, KVM emulates some HyperV features. With the
current implementation, KVM's signature is hidden, but HyperV's is not,
and Nvidia drivers don't work in Windows VMs.

This change generates an extra element in the libvirt xml for Windows
guests on KVM which obfuscates HyperV's signature too, controlled by the
existing image and flavor parameters (img_hide_hypervisor_id and
hide_hypervisor_id correspondingly). The extra xml element is
  <vendor_id state='on' value='1234567890ab'/>
in features/hyperv.

[1] https://blueprints.launchpad.net/nova/+spec/hide-hypervisor-id-flavor-extra-spec
[2] https://blueprints.launchpad.net/nova/+spec/add-kvm-hidden-feature

Change-Id: Iaaeae9281301f14f4ae9b43f4a06de58b699fd68
Closes-Bug: 1779845
2019-06-04 00:51:08 +00:00
..
storage Fix string interpolations in logging calls 2019-01-29 15:06:39 +09:00
volume Merge "systemd detection result caching nit fixes" 2019-04-28 03:51:13 +00:00
__init__.py Remove vi modelines 2014-02-03 14:19:44 +00:00
blockinfo.py Add configuration of maximum disk devices to attach 2019-01-30 15:47:10 +00:00
compat.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
config.py Hide hypervisor id on windows guests 2019-06-04 00:51:08 +00:00
designer.py add mtu to libvirt xml for ethernet and bridge types 2018-06-06 09:39:40 -04:00
driver.py Hide hypervisor id on windows guests 2019-06-04 00:51:08 +00:00
firewall.py Add missing ws seperator between words 2018-11-26 23:42:18 +00:00
guest.py Style corrections for privsep usage. 2019-04-01 23:35:53 +00:00
host.py Reduce logging of host hypervisor capabilities to DEBUG level 2019-05-28 19:24:12 +01:00
imagebackend.py Fix failure to boot instances with qcow2 format images 2019-05-20 19:10:31 +08:00
imagecache.py Move the dac_admin privsep code to a new location. 2017-09-18 23:14:11 +10:00
instancejobtracker.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
migration.py libvirt: remove live_migration_progress_timeout config 2018-12-14 14:50:38 -05:00
utils.py Move libvirt calculation of machine type to utils.py 2019-03-19 22:28:33 +00:00
vif.py Move set_vf_interface_vlan to be with its only caller. 2019-03-05 22:18:08 +00:00