From af096c0ad415b9f982c590696a7773d300fcf566 Mon Sep 17 00:00:00 2001 From: Matthew Bratschun Date: Fri, 22 Aug 2025 09:47:04 -0600 Subject: [PATCH 1/4] add milliseconds to logging --- .../module/AzureBasicLoadBalancerUpgrade/modules/Log/Log.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/Log/Log.psm1 b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/Log/Log.psm1 index be8bae15..ef9e7386 100644 --- a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/Log/Log.psm1 +++ b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/Log/Log.psm1 @@ -17,7 +17,7 @@ function log { $terminateOnError ) - $timestamp = Get-Date -Format 'yyyy-MM-ddTHH:mm:sszz' + $timestamp = Get-Date -Format 'yyyy-MM-ddTHH:mm:ss.ffzz' Add-Content -Path ("Start-AzBasicLoadBalancerUpgrade.log") -Value ($timestamp + " " + "[$Severity] - " + $Message) -Force $outputMessage = "{0} [{1}]:{2}" -f $timestamp, $Severity,($Message -replace '\s\s+?','') If ($global:FollowLog) { From e5b4607b5552da369b4a0c66456a5f62da7d6330 Mon Sep 17 00:00:00 2001 From: Matthew Bratschun Date: Fri, 22 Aug 2025 09:47:53 -0600 Subject: [PATCH 2/4] Remove use of AzJob for LB save to simplify flow --- .../NatRulesMigration/NatRulesMigration.psm1 | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 index be3b6941..b9559eac 100644 --- a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 +++ b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 @@ -152,21 +152,11 @@ function NatRulesMigration { return } else { - log -Message "[NatRulesMigration] $($StdLoadBalancer.InboundNatRules.Count) NAT Rules migrated. Saving Standard Load Balancer '$($StdLoadBalancer.Name)'..." + log -Message "[NatRulesMigration] $($StdLoadBalancer.InboundNatRules.Count) NAT Rules applied to LB config. Saving Standard Load Balancer '$($StdLoadBalancer.Name)'..." try { $ErrorActionPreference = 'Stop' - - $UpdateLBNATRulesJob = Set-AzLoadBalancer -LoadBalancer $StdLoadBalancer -AsJob - - While ($UpdateLBNATRulesJob.State -eq 'Running') { - Start-Sleep -Seconds 15 - log -Message "[NatRulesMigration] Waiting for saving standard load balancer $($StdLoadBalancer.Name) job to complete..." - } - - If ($UpdateLBNATRulesJob.Error -or $UpdateLBNATRulesJob.State -eq 'Failed') { - log -Severity Error -Message "Saving Standard Load Balancer $($StdLoadBalancer.Name) failed with the following errors: $($UpdateLBNATRulesJob.error; $UpdateLBNATRulesJob | Receive-Job). Migration will continue--to recover, manually add the NAT rules to the load balancer, then correct NAT Rule NIC membership after the script completes." - } + Set-AzLoadBalancer -LoadBalancer $StdLoadBalancer > $null } catch { $message = "[NatRulesMigration] Failed to update new standard load balancer '$($stdLoadBalancer.Name)' in resource group '$($StdLoadBalancer.ResourceGroupName)' after attempting to add migrated inbound NAT rule configurations. Migration will continue, INBOUND NAT RULES WILL NEED TO BE MANUALLY ADDED to the load balancer. Error: $_" From 462c2eca0beda8e5c56155ff8bb54e71a77e0191 Mon Sep 17 00:00:00 2001 From: Matthew Bratschun Date: Fri, 22 Aug 2025 09:49:15 -0600 Subject: [PATCH 3/4] v2.5.40 --- .../AzureBasicLoadBalancerUpgrade.psd1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/AzureBasicLoadBalancerUpgrade.psd1 b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/AzureBasicLoadBalancerUpgrade.psd1 index f3e04501..3aaffa8e 100644 --- a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/AzureBasicLoadBalancerUpgrade.psd1 +++ b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/AzureBasicLoadBalancerUpgrade.psd1 @@ -12,7 +12,7 @@ RootModule = 'AzureBasicLoadBalancerUpgrade' # Version number of this module. - ModuleVersion = '2.5.39' + ModuleVersion = '2.5.40' # Supported PSEditions # CompatiblePSEditions = @() @@ -107,7 +107,7 @@ # IconUri = '' # ReleaseNotes of this module - ReleaseNotes = 'Improve NAT Rule migration logging and error handling.' + ReleaseNotes = 'Simplify NAT Rule migration.' # Prerelease string of this module # Prerelease = 'beta' From 856ce94d14e07e75665f94c5a1e5f826fe28fdf8 Mon Sep 17 00:00:00 2001 From: Matthew Bratschun <25390936+mbrat2005@users.noreply.github.com> Date: Fri, 22 Aug 2025 09:52:55 -0600 Subject: [PATCH 4/4] Update AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../modules/NatRulesMigration/NatRulesMigration.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 index b9559eac..cc8e579f 100644 --- a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 +++ b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 @@ -159,7 +159,7 @@ function NatRulesMigration { Set-AzLoadBalancer -LoadBalancer $StdLoadBalancer > $null } catch { - $message = "[NatRulesMigration] Failed to update new standard load balancer '$($stdLoadBalancer.Name)' in resource group '$($StdLoadBalancer.ResourceGroupName)' after attempting to add migrated inbound NAT rule configurations. Migration will continue, INBOUND NAT RULES WILL NEED TO BE MANUALLY ADDED to the load balancer. Error: $_" + $message = "[NatRulesMigration] Failed to update new standard load balancer '$($stdLoadBalancer.Name)' in resource group '$($StdLoadBalancer.ResourceGroupName)' after attempting to apply NAT Rules to LB config. Migration will continue, INBOUND NAT RULES WILL NEED TO BE MANUALLY ADDED to the load balancer. Error: $_" log "Error" $message } }