diff --git a/buildserver/Vagrantfile b/buildserver/Vagrantfile index 111df705..8d8b2877 100644 --- a/buildserver/Vagrantfile +++ b/buildserver/Vagrantfile @@ -34,6 +34,8 @@ Vagrant.configure("2") do |config| libvirt.uri = "qemu:///system" libvirt.cpus = configfile["cpus"] libvirt.memory = configfile["memory"] + libvirt.disk_bus = configfile["libvirt_disk_bus"] + libvirt.nic_model_type = configfile["libvirt_nic_model_type"] end config.vm.synced_folder './', '/vagrant', type: '9p' synced_folder_type = '9p' diff --git a/examples/makebuildserver.config.py b/examples/makebuildserver.config.py index 679732b7..5911c66f 100644 --- a/examples/makebuildserver.config.py +++ b/examples/makebuildserver.config.py @@ -63,3 +63,11 @@ # below: # # vm_provider = 'libvirt' + +# By default libvirt uses 'virtio' for both network and disk drivers. +# Some systems (eg. nesting VMware ESXi) do not support virtio. As a +# workaround for such rare cases, this setting allows to configure +# KVM/libvirt to emulate hardware rather than using virtio. +# +# libvirt_disk_bus = 'sata' +# libvirt_nic_model_type = 'rtl8139' diff --git a/makebuildserver b/makebuildserver index 0c25a08f..f43dd489 100755 --- a/makebuildserver +++ b/makebuildserver @@ -65,6 +65,8 @@ config = { 'memory': 2048, 'hwvirtex': 'off', 'vm_provider': 'virtualbox', + 'libvirt_disk_bus': 'virtio', + 'libvirt_nic_model_type': 'virtio', } if os.path.isfile('/usr/bin/systemd-detect-virt'):