From e75c2a520844876e4a368926c4e15e4aa34f6f4d Mon Sep 17 00:00:00 2001 From: Kobi Samoray Date: Tue, 8 Oct 2024 15:17:50 +0200 Subject: [PATCH] Handle upgrade components with no upgrade_mode property Edge components do not have this attribute and host components potentially could miss it as well. The code should handle this case to avoid crash. Signed-off-by: Kobi Samoray --- nsxt/resource_nsxt_upgrade_run.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nsxt/resource_nsxt_upgrade_run.go b/nsxt/resource_nsxt_upgrade_run.go index e172e8345..fdfc27e36 100644 --- a/nsxt/resource_nsxt_upgrade_run.go +++ b/nsxt/resource_nsxt_upgrade_run.go @@ -512,7 +512,11 @@ func getPartialUpgradeMap(d *schema.ResourceData, targetVersion string) map[stri for _, groupI := range d.Get(componentToGroupKey[component]).([]interface{}) { group := groupI.(map[string]interface{}) enabled := group["enabled"].(bool) - upgradeMode := group["upgrade_mode"].(string) + upgradeMode := "" + um, ok := group["upgrade_mode"] + if ok { + upgradeMode = um.(string) + } pauseAfterEach := group["pause_after_each_upgrade_unit"].(bool) if !enabled || pauseAfterEach || upgradeMode == "stage_in_vlcm" { isPartialUpgradeMap[component] = true