Я использую terraform libvirt поставщик, и мне не удается запустить VM. Мне смонтировали диск в папке в /home/dude/vmPool/
, и я попытался установить acl от рассмотрения этой проблемы, которая выглядит подобной. Я также попытался редактировать /etc/libvirt/qemu.conf
и установка user=root, group=root
который, кажется, не помогает. Я заметил, что образ виртуальной машины создается как корень, в то время как cloudinit ISO создается как мой пользователь, я верю внутренне genisoimage, используется поставщиком, но я понятия не имею, как это влияет на домен не быть созданным. Это перестало работать со следующей ошибкой: error: Failed to start domain ubuntu-terraform error: internal error: process exited while connecting to monitor: 2018-12-06T14:14:22.519784Z qemu-system-x86_64: -drive file=/home/dude/vmPool/kvm.kthw.test/ubuntu-qcow2,format=qcow2,if=none,id=drive-virtio-disk0: Could not open '/home/dude/vmPool/kvm.kthw.test/ubuntu-qcow2': Permission denied
Я использую Ubuntu 18.04:
uname -a
Linux kvm-host 4.15.0-42-generic #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
Это - известная проблема в terraform libvirt. См.: https://github.com/dmacvicar/terraform-provider-libvirt/commit/22f096d9
это походит на нарушение пути apparmor из-за использования редкого пути. Проверьте проверку dmesg
при инициировании проблемы, если Вы видите отклонять сообщение.
Затем как разрешение следуйте этому документу об использовании редких путей
TL; DR:
Я столкнулся с той же проблемой, и после некоторого расследования terraform не использует точки для идентификаторов ресурсов. Таким образом, AppArmor предоставляет только этому изображению
/etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
имена файлов:
...
/**.img r,
/**.raw r,
/**.qcow{,2} r,
/**.qed r,
/**.vmdk r,
/**.[iI][sS][oO] r,
/**/disk{,.*} r,
...
Мой terraform использует -qcow в качестве имени для каждого ресурса, поэтому добавление этого изображения в список решило мою проблему:
/**-qcow{,2} r,