Skip to content

Latest commit

 

History

History
96 lines (71 loc) · 5.82 KB

File metadata and controls

96 lines (71 loc) · 5.82 KB

When applying the solution update, the update fails and displays one of the error messages described below.

Symptoms

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."

Issue Validation

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…

Cause

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

Mitigation Details

  • 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