From 77218dd62cc962ee9512f944e6c08a83efdc615f Mon Sep 17 00:00:00 2001 From: Matthew Bratschun Date: Mon, 18 Aug 2025 15:36:12 -0600 Subject: [PATCH] improve nat rule error handling --- .../AzureBasicLoadBalancerUpgrade.psd1 | 4 ++-- .../modules/NatRulesMigration/NatRulesMigration.psm1 | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/AzureBasicLoadBalancerUpgrade.psd1 b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/AzureBasicLoadBalancerUpgrade.psd1 index 380a9abf..f3e04501 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.38' + ModuleVersion = '2.5.39' # Supported PSEditions # CompatiblePSEditions = @() @@ -107,7 +107,7 @@ # IconUri = '' # ReleaseNotes of this module - ReleaseNotes = 'Add note for -multiLBConfig internal LB outbound connectivity warning.' + ReleaseNotes = 'Improve NAT Rule migration logging and error handling.' # Prerelease string of this module # Prerelease = 'beta' diff --git a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 index 6e67a4a7..be3b6941 100644 --- a/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 +++ b/AzureBasicLoadBalancerUpgrade/module/AzureBasicLoadBalancerUpgrade/modules/NatRulesMigration/NatRulesMigration.psm1 @@ -145,13 +145,15 @@ function NatRulesMigration { log "Error" $message } } - log -Message "[NatRulesMigration] Saving Standard Load Balancer $($StdLoadBalancer.Name)" + log -Message "[NatRulesMigration] Starting saving Standard Load Balancer $($StdLoadBalancer.Name)..." if ($StdLoadBalancer.InboundNatRules.Count -eq 0) { log -Message "[NatRulesMigration] No NAT Rules to migrate. Skipping save." return } else { + log -Message "[NatRulesMigration] $($StdLoadBalancer.InboundNatRules.Count) NAT Rules migrated. Saving Standard Load Balancer '$($StdLoadBalancer.Name)'..." + try { $ErrorActionPreference = 'Stop' @@ -163,7 +165,7 @@ function NatRulesMigration { } If ($UpdateLBNATRulesJob.Error -or $UpdateLBNATRulesJob.State -eq 'Failed') { - Write-Error $UpdateLBNATRulesJob.Error + 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." } } catch {