From 49720ab12a63bafb0e42418de45f56dccfcfc4e8 Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Thu, 8 Jun 2023 23:05:04 +0200 Subject: [PATCH] reintroduce data disks --- debian/files/cloud_init.cfg.tftpl | 22 +++++++++++++++++++++- debian/main.tf | 9 +++++++++ debian/variables.tf | 6 ++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/debian/files/cloud_init.cfg.tftpl b/debian/files/cloud_init.cfg.tftpl index 1c00537..8dfa327 100644 --- a/debian/files/cloud_init.cfg.tftpl +++ b/debian/files/cloud_init.cfg.tftpl @@ -40,10 +40,30 @@ runcmd: - dhclient - locale-gen -%{ if data_share != "" } +%{ if data_disk } +device_aliases: + data: /dev/vdb +disk_setup: + data: + table_type: 'gpt' + layout: true + overwrite: false +fs_setup: + - label: 'data' + filesystem: 'ext4' + device: data.1 + overwrite: false +%{ endif } + +%{ if data_disk || data_share } mounts: +%{ if data_disk != "" } +- ["data.1", "/mnt/data"] +%{ endif } +%{ if data_share != "" } - ["data", "${data_share}", "9p", "trans=virtio,rw", "0", "0"] %{ endif } +%{ endif } %{ if fixed_dns != "" } manage_resolv_conf: true diff --git a/debian/main.tf b/debian/main.tf index e254752..8cb5257 100644 --- a/debian/main.tf +++ b/debian/main.tf @@ -21,6 +21,7 @@ locals { private_key = tls_private_key.debian.private_key_openssh, fixed_dns = var.fixed_dns data_share = var.data_share + data_disk = var.data_disk }) cloudinit_network_config = templatefile("${path.module}/files/network_config.cfg.tftpl", { fixed_address = var.fixed_address @@ -125,6 +126,14 @@ resource "libvirt_domain" "debian" { } } + dynamic "disk" { + for_each = var.data_disk != null ? [1] : [] + + content { + volume_id = var.data_disk + } + } + network_interface { bridge = local.bridge_name hostname = var.name diff --git a/debian/variables.tf b/debian/variables.tf index c810538..e0d0ed9 100644 --- a/debian/variables.tf +++ b/debian/variables.tf @@ -85,3 +85,9 @@ variable "data_share" { variable "hypervisor_host" { type = string } + +variable "data_disk" { + type = string + default = "" + description = "Identifier of the machine's persistent data disk." +}