Не мог запустить VM, использующий libvirt-terraform

Я использую 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
1
задан 6 December 2018 в 18:06

3 ответа

Это - известная проблема в terraform libvirt. См.: https://github.com/dmacvicar/terraform-provider-libvirt/commit/22f096d9

1
ответ дан 7 December 2019 в 15:10

это походит на нарушение пути apparmor из-за использования редкого пути. Проверьте проверку dmesg при инициировании проблемы, если Вы видите отклонять сообщение.

Затем как разрешение следуйте этому документу об использовании редких путей

TL; DR:

  • используйте общий путь
  • добавьте локальное переопределение apparmor для разрешения пути
0
ответ дан 7 December 2019 в 15:10

Я столкнулся с той же проблемой, и после некоторого расследования 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,
0
ответ дан 2 March 2020 в 21:58

Другие вопросы по тегам:

Похожие вопросы: