bento icon indicating copy to clipboard operation
bento copied to clipboard

Configure `paravirtprovider` to the appropriate value for each OS

Open jakauppila opened this issue 4 years ago • 0 comments

Describe the Enhancement:

Configure an appropriate paravirtprovider value within each OS template.

So for example, on Windows, I believe this would need to be added underneath vboxmanage

[
  "modifyvm",
  "{{.Name}}",
  "--paravirtprovider",
  "hyperv"
]

Describe the Need:

At some point VirtualBox added support for utilizing Hyper-V as it's virtualization layer allowing users to run both VirtualBox and Hyper-V rather than having to pick between one or the other. With this change (and with Hyper-V enabled on the workstation), it appears that Windows boxes need to have the paravirtualization interface on the box configured to Hyper-V in order to operate correctly.

--paravirtprovider none|default|legacy|minimal|hyperv|kvm: Specifies which paravirtualization interface to provide to the guest operating system. Specifying none explicitly turns off exposing any paravirtualization interface. The option default selects an appropriate interface when starting the VM, depending on the guest OS type. This is the default option chosen when creating new VMs. The legacy option is used for VMs which were created with older Oracle VM VirtualBox versions and will pick a paravirtualization interface when starting the VM with Oracle VM VirtualBox 5.0 and newer. The minimal provider is mandatory for Mac OS X guests. kvm and hyperv are recommended for Linux and Windows guests respectively. These options are explained in Section 10.5, “Paravirtualization Providers”.

Source: https://www.virtualbox.org/manual/ch08.html

Current Alternative

No workaround currently; the global-level detection of the guest OS doesn't work as I'd expect.

https://stackoverflow.com/questions/29974722/how-to-detect-which-os-type-the-current-guest-is-in-the-vagrantfile

Can We Help You Implement This?:

Is configuring each packer JSON appropriate for this change, or is there some better "shared" place to implement?

jakauppila avatar Feb 04 '21 18:02 jakauppila