Nixpkgs: `VBoxManage hostonlyif remove <adapter>` fails silently, causing `vagrant up` to fail

Created on 19 Apr 2017  路  3Comments  路  Source: NixOS/nixpkgs

Issue description

I have a Vagrantfile that configures a host-only network. Running vagrant up fails with the error

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: Permission denied
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg*)" at line 94 of file VBoxManageHostonly.cpp

Manually removing the adapter with e.g. VBoxManage hostonlyif remove vboxnet0 seems to work, but ip a indicates that it is still present:

[me@nixos:~/code/vagrant-test]$ VBoxManage hostonlyif remove vboxnet0
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

[me@nixos:~/code/vagrant-test]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
<snip>
4: vboxnet0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.1/24 scope global vboxnet0
       valid_lft forever preferred_lft forever

Removing the adapters from the VirtualBox GUI works correctly.

Steps to reproduce

  1. Make sure these lines are in configuration.nix:
  virtualisation.virtualbox.host.enable = true;
  nixpkgs.config.virtualbox.enableExtensionPack = true; # I'm not sure this is relevant
  1. Install VirtualBox (with guest additions, although I don't think that's relevant) and vagrant with nix-env -i virtualbox and nix-env -i vagrant

  2. Create a new Vagrantfile:

vagrant init nastevens/alpine-3.5-x86_64
  1. Configure a host-only network within the Vagrantfile:
  config.vm.network "private_network", nic_type: "virtio", ip: "192.168.33.10", auto_config: true
  1. vagrant up

Technical details

  • System: NixOS 17.03.982.b647a67dfe (Gorilla)
  • Nix version: nix-env (Nix) 1.11.8
  • Nixpkgs version: "17.03.982.b647a67dfe"

Most helpful comment

Turns out that this was caused by having both virtualisation.virtualbox.host.enable = true; as well as nix-env -i virtualbox

All 3 comments

Turns out that this was caused by having both virtualisation.virtualbox.host.enable = true; as well as nix-env -i virtualbox

Can you explain a little more, please?

I had Virtualbox installed in two different ways, which was causing my issue. The solution was to uninstall the user package and put virtualisation.virtualbox.host.enable = true; in my configuration.nix.

Was this page helpful?
0 / 5 - 0 ratings