У меня Jenkins установлен в контейнере LXC.
В одном задании Jenkins я хочу протестировать развертывание моего проекта с помощью vagrant + Virtualbox.
Итак, я пытаюсь запустить VirtualBox в моем контейнере LXC.
Первая трудность, загрузка модулей ядра vbox. Чтобы исправить эту первую проблему, я добавил эту строку в конфигурацию контейнера lxc:
# vboxdrv
lxc.cgroup.devices.allow = c 10:59 rwm
С помощью этой строки я могу выполнить:
root@jenkins-lxc:/tmp/test1# /etc/init.d/vboxdrv setup
[ ok ] Stopping VirtualBox kernel modules:.
[ ok ] Uninstalling old VirtualBox DKMS kernel modules:.
[ ok ] Trying to register the VirtualBox kernel modules using DKMS:.
[ ok ] Starting VirtualBox kernel modules:.
Следующий выпуск:
root@jenkins-lxc:/tmp/test1# vboxmanage hostonlyif create
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: No such file or directory
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component
HostNetworkInterface, interface IHostNetworkInterface
VBoxManage: error: Context: "int handleCreate(HandlerArg*, int, int*)" at line 68 of file VBoxManageHostonly.cpp
Я не знаю, как исправить эту последнюю проблему «не удалось открыть / dev / vboxnetctl: нет такого файла или каталога».
Есть ли у вас несколько советов, как это исправить?
Для использования vagrant вам не нужен виртуальный бокс. Вместо того, чтобы запускать ваши тесты на виртуальной машине в виртуальном боксе, запустите их в другом контейнере и используйте vagrant для управления им с помощью бродяга-lxc.