diff --git a/test/e2e/main.tf b/test/e2e/main.tf index 61592c408..209b1a832 100644 --- a/test/e2e/main.tf +++ b/test/e2e/main.tf @@ -42,59 +42,70 @@ resource "lxd_profile" "e2e" { } # Images -resource "lxd_cached_image" "ctn" { - count = var.containers_per_host > 0 ? 1 : 0 - project = lxd_project.e2e.name - remote = lxd_project.e2e.remote - source_remote = "ubuntu-minimal-daily" - source_image = "24.04" - type = "container" +resource "lxd_image" "ctn" { + count = var.containers_per_host > 0 ? 1 : 0 + project = lxd_project.e2e.name + remote = lxd_project.e2e.remote + source_image = { + image = "ubuntu-minimal-daily:24.04" + type = "container" + } } -resource "lxd_cached_image" "vm" { - count = var.vms_per_host > 0 ? 1 : 0 - project = lxd_project.e2e.name - remote = lxd_project.e2e.remote - source_remote = "ubuntu-minimal-daily" - source_image = "24.04" - type = "virtual-machine" +resource "lxd_image" "vm" { + count = var.vms_per_host > 0 ? 1 : 0 + project = lxd_project.e2e.name + remote = lxd_project.e2e.remote + source_image = { + image = "ubuntu-minimal-daily:24.04" + type = "virtual-machine" + } } # Containers resource "lxd_instance" "e2e-ctn" { for_each = { - for _, v in local.containers : v.instance => v.target + for _, v in local.containers : v.instance => v } - name = each.key - target = each.value - type = "container" - remote = lxd_project.e2e.remote - project = lxd_project.e2e.name - profiles = [lxd_profile.e2e.name] - image = lxd_cached_image.ctn[0].fingerprint - wait_for_network = true + name = each.key + target = each.value.target + type = "container" + remote = lxd_project.e2e.remote + project = lxd_project.e2e.name + profiles = [lxd_profile.e2e.name] + image = each.value.image + + wait_for { + type = "ipv4" + } } # VMs resource "lxd_instance" "e2e-vm" { for_each = { - for _, v in local.vms : v.instance => v.target + for _, v in local.vms : v.instance => v } - name = each.key - target = each.value - type = "virtual-machine" - remote = lxd_project.e2e.remote - project = lxd_project.e2e.name - profiles = [lxd_profile.e2e.name] - image = lxd_cached_image.vm[0].fingerprint - wait_for_network = true - allow_restart = true + name = each.key + target = each.value.target + type = "virtual-machine" + remote = lxd_project.e2e.remote + project = lxd_project.e2e.name + profiles = [lxd_profile.e2e.name] + image = each.value.image + allow_restart = true config = { "migration.stateful" = "true" } + + wait_for { + type = "ipv4" + } + wait_for { + type = "agent" + } } # Locals @@ -106,6 +117,7 @@ locals { for i in range(var.containers_per_host) : { instance = "c${format("%02d", var.containers_per_host * index + i + 1)}" target = cluster_member_name + image = lxd_image.ctn[0].fingerprint } ] ]) @@ -114,6 +126,7 @@ locals { for i in range(var.vms_per_host) : { instance = "v${format("%02d", var.vms_per_host * index + i + 1)}" target = cluster_member_name + image = lxd_image.vm[0].fingerprint } ] ]) diff --git a/test/e2e/versions.tf b/test/e2e/versions.tf index ddcbeb012..fb0d1d619 100644 --- a/test/e2e/versions.tf +++ b/test/e2e/versions.tf @@ -3,7 +3,14 @@ terraform { required_providers { lxd = { source = "terraform-lxd/lxd" - version = ">= 2.5.0" + version = ">= 3.0.2" } } } + +provider "lxd" { + remote { + name = "local" + address = "unix://" + } +}