When applying the solution update, the update fails and displays one of the error messages described below.
When trying to update Azure Local 23H2 version 2408.x to 2411 you can hit this issue.
The issue that causes the failure can result in one of the following error messages:
Error 1: “EvalTVMFlow” error “CloudEngine.Actions.InterfaceInvocationFailedException: Type 'EvalTVMFlow' of Role 'ArcIntegration' raised an exception: This module requires Az.Accounts version "". An earlier version of Az.Accounts is imported in the current PowerShell session."
Error 2: “Type 'UpdateArbAndExtensions' of Role 'MocArb' raised an exception: Clear-AzContext failed with 0 and Exception calling "Initialize" with "1" argument(s): "Object reference not set to an instance of an object." at at Clear-AzPowershellCache, C:\NugetStore\Microsoft.AzureStack.MocArb.LifeCycle.1.2411.0.14\content\Scripts\MocArbHelper.psm1: line 3250 at Login-AzPowershellSessio."
Run this cmdlet on each node to see what powershell module versions are present
Get-InstalledModule Az.Accounts
Get-InstalledModule Az.Resources
Get-InstalledModule Az.ConnectedMachine
Expected version for Az.Accounts is 3.0.3 Expected version for Az.Resources is 6.12.0 Expected version for Az.ConnectedMachine is 0.8.0
If there are any versions besides expected version, they need to be removed. For example if it looks like the image below, version 7.7.0 of Az.Resources needs to be removed.
Version Name Repository Description
------- ---- ---------- -----------
7.7.0 Az.Resources PSGallery Microsoft Azure PowerShel…
There is an issue with Az.Accounts module versions 3.0.4 and up that causes it to write an error to $global:error which causes update flow to throw an exception and fail. We also need compatible versions of Az.Resources and Az.ConnectedMachine with Az.Accounts 3.0.3
- On each node of the cluster, run the following commands.
$accountsModule = Get-InstalledModule Az.Accounts;
$accountsModuleDesiredVersion = "3.0.3";
if (($accountsModule -ne $null) -and ($accountsModule.Version -gt $accountsModuleDesiredVersion))
{
Uninstall-Module -Name Az.Accounts -RequiredVersion $accountsModule.Version -Force;
Write-Host "Uninstalled Az.Accounts, Version: $accountsModule.Version";
Install-Module -Name Az.Accounts -RequiredVersion $accountsModuleDesiredVersion -Verbose -AllowClobber -Confirm:$true -SkipPublisherCheck -ErrorAction Stop
Write-Host "Installed Az.Accounts, Version: $accountsModuleDesiredVersion";
}
$resourcesModule = Get-InstalledModule Az.Resources;
$resourcesModuleDesiredVersion = "6.12.0";
if (($resourcesModule -ne $null) -and ($resourcesModule.Version -gt $resourcesModuleDesiredVersion))
{
Uninstall-Module -Name Az.Resources -RequiredVersion $resourcesModule.Version -Force;
Write-Host "Uninstalled Az.Resources, Version: $resourcesModule.Version";
Install-Module -Name Az.Resources -RequiredVersion $resourcesModuleDesiredVersion -Verbose -AllowClobber -Confirm:$false -SkipPublisherCheck -ErrorAction Stop;
Write-Host "Installed Az.Resources, Version: $resourcesModuleDesiredVersion";
}
$connectedMachineModule = Get-InstalledModule Az.ConnectedMachine;
$connectedMachineModuleDesiredVersion = "0.8.0";
if (($connectedMachineModule -ne $null) -and ($connectedMachineModule.Version -gt $connectedMachineModuleDesiredVersion))
{
Uninstall-Module -Name Az.ConnectedMachine -RequiredVersion $connectedMachineModule.Version -Force;
Write-Host "Uninstalled Az.ConnectedMachine, Version: $connectedMachineModule.Version";
Install-Module -Name Az.ConnectedMachine -RequiredVersion $connectedMachineModuleDesiredVersion -Verbose -AllowClobber -Confirm:$false -SkipPublisherCheck -ErrorAction Stop;
Write-Host "Installed Az.ConnectedMachine, Version: $connectedMachineModuleDesiredVersion";
}- Validate installed versions are as expected
Get-InstalledModule Az.Accounts| Version Name Repository Description ------- ---- ---------- ----------- 3.0.3 Az.Accounts PSGallery Microsoft Azure PowerShel… |
|---|
Get-InstalledModule Az.Resources| Version Name Repository Description ------- ---- ---------- ----------- 6.12.0 Az.Resources PSGallery Microsoft Azure PowerShel… |
|---|
Get-InstalledModule Az.ConnectedMachine| Version Name Repository Description ------- ---- ---------- ----------- 0.8.0 Az.ConnectedMachine PSGallery Microsoft Azure PowerShel… |
|---|
- Proceed with upgrade