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"