From f4ce53676cf77aa98f6213d2e3b06d00d318b94e Mon Sep 17 00:00:00 2001 From: Virgil Date: Tue, 29 Oct 2019 11:41:43 +0100 Subject: [PATCH] New feature, HA management --- README.md | 2 ++ proxmox/resource_vm_qemu.go | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/README.md b/README.md index d0d1f5e4..fb0be03f 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,8 @@ resource "proxmox_vm_qemu" "prepprovision-test" { hotplug = "network,disk,usb" # Default boot disk bootdisk = "virtio0" + # HA, you need to use a shared disk for this feature (ex: rbd) + hastate = "" network { id = 0 model = "virtio" diff --git a/proxmox/resource_vm_qemu.go b/proxmox/resource_vm_qemu.go index afe303b8..5196f9df 100644 --- a/proxmox/resource_vm_qemu.go +++ b/proxmox/resource_vm_qemu.go @@ -77,6 +77,10 @@ func resourceVmQemu() *schema.Resource { ForceNew: true, Default: true, }, + "hastate": { + Type: schema.TypeString, + Optional: true, + }, "qemu_os": { Type: schema.TypeString, Optional: true, @@ -442,6 +446,7 @@ func resourceVmQemuCreate(d *schema.ResourceData, meta interface{}) error { QemuNuma: d.Get("numa").(bool), Hotplug: d.Get("hotplug").(string), Scsihw: d.Get("scsihw").(string), + HaState: d.Get("hastate").(string), QemuOs: d.Get("qemu_os").(string), QemuNetworks: qemuNetworks, QemuDisks: qemuDisks, @@ -615,6 +620,7 @@ func resourceVmQemuUpdate(d *schema.ResourceData, meta interface{}) error { QemuNuma: d.Get("numa").(bool), Hotplug: d.Get("hotplug").(string), Scsihw: d.Get("scsihw").(string), + HaState: d.Get("hastate").(string), QemuOs: d.Get("qemu_os").(string), QemuNetworks: qemuNetworks, QemuDisks: qemuDisks, @@ -712,6 +718,7 @@ func resourceVmQemuRead(d *schema.ResourceData, meta interface{}) error { d.Set("numa", config.QemuNuma) d.Set("hotplug", config.Hotplug) d.Set("scsihw", config.Scsihw) + d.Set("hastate", vmr.HaState()) d.Set("qemu_os", config.QemuOs) // Cloud-init. d.Set("ciuser", config.CIuser)