0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-03 20:12:59 +00:00

fix(vm): regression: force VM recreation due to initialization.upgrade when it is not in the plan (#1209)

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
Pavel Boldyrev 2024-04-11 23:13:29 -04:00 committed by GitHub
parent 9b06405157
commit 628d0f15dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -90,6 +90,7 @@ const (
dvInitializationNetworkDataFileID = "" dvInitializationNetworkDataFileID = ""
dvInitializationMetaDataFileID = "" dvInitializationMetaDataFileID = ""
dvInitializationType = "" dvInitializationType = ""
dvInitializationUpgrade = true
dvKeyboardLayout = "en-us" dvKeyboardLayout = "en-us"
dvKVMArguments = "" dvKVMArguments = ""
dvMachineType = "" dvMachineType = ""
@ -900,10 +901,9 @@ func VM() *schema.Resource {
}, },
mkInitializationUpgrade: { mkInitializationUpgrade: {
Type: schema.TypeBool, Type: schema.TypeBool,
Description: "Whether to upgrade the cloud-init configuration", Description: "Whether to do an automatic package upgrade after the first boot",
Optional: true, Optional: true,
ForceNew: true, Default: dvInitializationUpgrade,
Default: true,
}, },
}, },
}, },
@ -3723,13 +3723,10 @@ func vmReadCustom(
diags = append(diags, diag.FromErr(err)...) diags = append(diags, diag.FromErr(err)...)
} }
////////////////////
allDiskInfo := disk.GetInfo(vmConfig, d) // from the cloned VM allDiskInfo := disk.GetInfo(vmConfig, d) // from the cloned VM
diags = append(diags, disk.Read(ctx, d, allDiskInfo, vmID, api, nodeName, len(clone) > 0)...) diags = append(diags, disk.Read(ctx, d, allDiskInfo, vmID, api, nodeName, len(clone) > 0)...)
////////////////////////////
if vmConfig.EFIDisk != nil { if vmConfig.EFIDisk != nil {
efiDisk := map[string]interface{}{} efiDisk := map[string]interface{}{}
@ -4124,8 +4121,8 @@ func vmReadCustom(
if vmConfig.CloudInitUpgrade != nil { if vmConfig.CloudInitUpgrade != nil {
initialization[mkInitializationUpgrade] = *vmConfig.CloudInitUpgrade initialization[mkInitializationUpgrade] = *vmConfig.CloudInitUpgrade
} else { } else if len(initialization) > 0 {
initialization[mkInitializationUpgrade] = false initialization[mkInitializationUpgrade] = dvInitializationUpgrade
} }
currentInitialization := d.Get(mkInitialization).([]interface{}) currentInitialization := d.Get(mkInitialization).([]interface{})