module.vr1_dc1_planes.libvirt_network.plane["provider-public"]: Refreshing state... [id=6742bcc5-3f43-4111-81b8-91744c757c37] module.vr1_dc1_planes.libvirt_network.plane["metal-admin"]: Refreshing state... [id=f81378a7-abbd-4c75-a7aa-d7fb814d28d9] module.vr1_dc1_planes.libvirt_network.plane["storage"]: Refreshing state... [id=b8b24c23-8866-4c8c-a5a4-9c1722d77120] module.vr1_dc1_wan.libvirt_network.wan_bridge: Refreshing state... [id=56531929-1b2f-44f0-9779-8a711630f0b6] module.inner_storage.libvirt_pool.dc: Refreshing state... [id=0b20edb6-ff0e-402e-9a54-93da985efc04] module.vr1_dc1_planes.libvirt_network.plane["metal-internal"]: Refreshing state... [id=44e97462-41b3-4cc6-9387-864a8b059fba] module.vr1_dc1_planes.libvirt_network.plane["data-tenant"]: Refreshing state... [id=2013f6ae-7b04-4207-99f9-123b272f1d25] module.vr1_dc1_planes.libvirt_network.plane["replication"]: Refreshing state... [id=c171fcc9-b588-4235-b703-963e8fc0ec22] module.vr1_dc1_opnsense.libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-opnsense-disk.qcow2] module.vr1_dc1_node["vr1-dc1-storage-02"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-storage-02-disk.qcow2] module.vr1_dc1_node["vr1-dc1-control-03"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-control-03-disk.qcow2] module.vr1_dc1_node["vr1-dc1-control-02"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-control-02-disk.qcow2] module.vr1_dc1_node["vr1-dc1-control-01"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-control-01-disk.qcow2] module.vr1_dc1_node["vr1-dc1-compute-01"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-compute-01-disk.qcow2] module.vr1_dc1_node["vr1-dc1-compute-02"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-compute-02-disk.qcow2] module.vr1_dc1_node["vr1-dc1-storage-04"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-storage-04-disk.qcow2] module.vr1_dc1_node["vr1-dc1-storage-01"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-storage-01-disk.qcow2] module.vr1_dc1_node["vr1-dc1-storage-03"].libvirt_volume.disk: Refreshing state... [id=/var/lib/libvirt/vr1-dc1-inner/vr1-dc1-storage-03-disk.qcow2] module.vr1_dc1_opnsense.libvirt_domain.vm: Refreshing state... [name=vr1-dc1-opnsense] module.vr1_dc1_node["vr1-dc1-control-01"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-control-01] module.vr1_dc1_node["vr1-dc1-control-02"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-control-02] module.vr1_dc1_node["vr1-dc1-control-03"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-control-03] module.vr1_dc1_node["vr1-dc1-storage-01"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-storage-01] module.vr1_dc1_node["vr1-dc1-storage-03"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-storage-03] module.vr1_dc1_node["vr1-dc1-storage-02"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-storage-02] module.vr1_dc1_node["vr1-dc1-compute-01"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-compute-01] module.vr1_dc1_node["vr1-dc1-storage-04"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-storage-04] module.vr1_dc1_node["vr1-dc1-compute-02"].libvirt_domain.node: Refreshing state... [name=vr1-dc1-compute-02] OpenTofu used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create ~ update in-place (current -> planned) OpenTofu will perform the following actions: # module.vr1_dc1_node["vr1-dc1-juju-01"].libvirt_domain.node will be created + resource "libvirt_domain" "node" { + autostart = false + cpu = { + mode = "host-passthrough" } + devices = { + disks = [ + { + boot = { + order = 2 } + driver = { + type = "qcow2" } + source = { + volume = { + pool = "vr1-dc1-inner-pool" + volume = "vr1-dc1-juju-01-disk.qcow2" } } + target = { + bus = "virtio" + dev = "vda" } }, ] + interfaces = [ + { + boot = { + order = 1 } + model = { + type = "virtio" } + source = { + network = { + network = "vr1-dc1-metal-admin" } } }, + { + model = { + type = "virtio" } + source = { + network = { + network = "vr1-dc1-provider-public" } } }, + { + model = { + type = "virtio" } + source = { + network = { + network = "vr1-dc1-metal-internal" } } }, + { + model = { + type = "virtio" } + source = { + network = { + network = "vr1-dc1-data-tenant" } } }, + { + model = { + type = "virtio" } + source = { + network = { + network = "vr1-dc1-storage" } } }, + { + model = { + type = "virtio" } + source = { + network = { + network = "vr1-dc1-replication" } } }, ] + serials = [ + { + log = { + append = "on" + file = "/var/lib/libvirt/vr1/staging/vr1-dc1-juju-01-serial.log" } + target = { + port = 0 } }, ] } + features = { + acpi = true + apic = {} } + id = (known after apply) + memory = 8192 + memory_unit = "MiB" + name = "vr1-dc1-juju-01" + os = { + type = "hvm" + type_arch = "x86_64" + type_machine = "q35" } + running = true + type = "kvm" + uuid = (known after apply) + vcpu = 4 } # module.vr1_dc1_node["vr1-dc1-juju-01"].libvirt_volume.disk will be created + resource "libvirt_volume" "disk" { + allocation = (known after apply) + capacity = 107374182400 + id = (known after apply) + key = (known after apply) + name = "vr1-dc1-juju-01-disk.qcow2" + path = (known after apply) + physical = (known after apply) + pool = "vr1-dc1-inner-pool" + target = { + format = { + type = "qcow2" } + path = (known after apply) } } # module.vr1_dc1_node["vr1-dc1-storage-01"].libvirt_domain.node will be updated in-place ~ resource "libvirt_domain" "node" { ~ devices = { ~ disks = [ + { + driver = { + type = "qcow2" } + source = { + volume = { + pool = "vr1-dc1-inner-pool" + volume = "vr1-dc1-storage-01-osd.qcow2" } } + target = { + bus = "virtio" + dev = "vdb" } }, # (1 unchanged element hidden) ] # (2 unchanged attributes hidden) } id = 3 name = "vr1-dc1-storage-01" # (10 unchanged attributes hidden) } # module.vr1_dc1_node["vr1-dc1-storage-01"].libvirt_volume.osd[0] will be created + resource "libvirt_volume" "osd" { + allocation = (known after apply) + capacity = 536870912000 + id = (known after apply) + key = (known after apply) + name = "vr1-dc1-storage-01-osd.qcow2" + path = (known after apply) + physical = (known after apply) + pool = "vr1-dc1-inner-pool" + target = { + format = { + type = "qcow2" } + path = (known after apply) } } # module.vr1_dc1_node["vr1-dc1-storage-02"].libvirt_domain.node will be updated in-place ~ resource "libvirt_domain" "node" { ~ devices = { ~ disks = [ + { + driver = { + type = "qcow2" } + source = { + volume = { + pool = "vr1-dc1-inner-pool" + volume = "vr1-dc1-storage-02-osd.qcow2" } } + target = { + bus = "virtio" + dev = "vdb" } }, # (1 unchanged element hidden) ] # (2 unchanged attributes hidden) } id = 4 name = "vr1-dc1-storage-02" # (10 unchanged attributes hidden) } # module.vr1_dc1_node["vr1-dc1-storage-02"].libvirt_volume.osd[0] will be created + resource "libvirt_volume" "osd" { + allocation = (known after apply) + capacity = 536870912000 + id = (known after apply) + key = (known after apply) + name = "vr1-dc1-storage-02-osd.qcow2" + path = (known after apply) + physical = (known after apply) + pool = "vr1-dc1-inner-pool" + target = { + format = { + type = "qcow2" } + path = (known after apply) } } # module.vr1_dc1_node["vr1-dc1-storage-03"].libvirt_domain.node will be updated in-place ~ resource "libvirt_domain" "node" { ~ devices = { ~ disks = [ + { + driver = { + type = "qcow2" } + source = { + volume = { + pool = "vr1-dc1-inner-pool" + volume = "vr1-dc1-storage-03-osd.qcow2" } } + target = { + bus = "virtio" + dev = "vdb" } }, # (1 unchanged element hidden) ] # (2 unchanged attributes hidden) } id = 7 name = "vr1-dc1-storage-03" # (10 unchanged attributes hidden) } # module.vr1_dc1_node["vr1-dc1-storage-03"].libvirt_volume.osd[0] will be created + resource "libvirt_volume" "osd" { + allocation = (known after apply) + capacity = 536870912000 + id = (known after apply) + key = (known after apply) + name = "vr1-dc1-storage-03-osd.qcow2" + path = (known after apply) + physical = (known after apply) + pool = "vr1-dc1-inner-pool" + target = { + format = { + type = "qcow2" } + path = (known after apply) } } # module.vr1_dc1_node["vr1-dc1-storage-04"].libvirt_domain.node will be updated in-place ~ resource "libvirt_domain" "node" { ~ devices = { ~ disks = [ + { + driver = { + type = "qcow2" } + source = { + volume = { + pool = "vr1-dc1-inner-pool" + volume = "vr1-dc1-storage-04-osd.qcow2" } } + target = { + bus = "virtio" + dev = "vdb" } }, # (1 unchanged element hidden) ] # (2 unchanged attributes hidden) } id = 5 name = "vr1-dc1-storage-04" # (10 unchanged attributes hidden) } # module.vr1_dc1_node["vr1-dc1-storage-04"].libvirt_volume.osd[0] will be created + resource "libvirt_volume" "osd" { + allocation = (known after apply) + capacity = 536870912000 + id = (known after apply) + key = (known after apply) + name = "vr1-dc1-storage-04-osd.qcow2" + path = (known after apply) + physical = (known after apply) + pool = "vr1-dc1-inner-pool" + target = { + format = { + type = "qcow2" } + path = (known after apply) } } Plan: 6 to add, 4 to change, 0 to destroy. ───────────────────────────────────────────────────────────────────────────── Saved the plan to: /tmp/dc1-osd-juju.tfplan To perform exactly these actions, run the following command to apply: tofu apply "/tmp/dc1-osd-juju.tfplan"