Назад | Перейти на главную страницу

Terraform Libvirt - Как использовать локальный файл qcow2 в гипервизоре вместо облачных образов?

Похоже, что провайдер libvirt принимает только предварительно определенные облачные образы. Я создаю свой собственный базовый образ qcow2, который является локальным для гипервизора, и хочу использовать его как исходный файл с помощью terraform libvirtd.

Это выполнимо?

Конфигурация с использованием облачного образа:

resource "libvirt_volume" "terraform-test" {
    name = "terraform-test.qcow2"
    pool = "default"
    source = "https://cloud.debian.org/images/cloud/buster/daily/20200324-210/debian-10-nocloud-amd64-daily-20200324-210.qcow2"
    format = "qcow2"

Вместо этого я хотел бы использовать локальный файл в гипервизоре, например:

resource "libvirt_volume" "terraform-test" {
    name = "terraform-test.qcow2"
    pool = "default"
    source = "/var/lib/libvirt/images/base-image.qcow2"
    format = "qcow2"



Error: Error while determining image type for /var/lib/libvirt/images/base-image.qcow2: Error while opening /var/lib/libvirt/images/base-image.qcow2: open /var/lib/libvirt/images/base-image.qcow2: no such file or directory

Возможно, проблема в том, что вы используете пул и локальный путь, сделайте что-то вроде этого:

resource "libvirt_volume" "kube-node-1" {
  name = "kube-node-1"
  pool = "default"
  source = "base-image"
  format = "qcow2"
  full_clone = true
}