Azure Stack – step 60.120 failed, name could not be resolved login.microsoftonline.com, problemy z siecią/network problems

W czasie wdrażania Azure Stack możemy spotkać błąd typu:

Invoke-EceAction : Action: Invocation of step 60.120 failed. Stopping invocation of action plan.

Pierwszym krokiem będzie ponowne uruchomienie instalatora:

cd C:\CloudDeployment\Setup
PS C:\CloudDeployment\Setup> .\InstallAzureStackPOC.ps1 -rerun

Po-czym zapewne zobaczymy:

Invoke-EceAction : Action: Invocation of step 60 failed. Stopping invocation of action plan.
At C:\CloudDeployment\Setup\DeploySingleNode.ps1:809 char:5
+ Invoke-EceAction -RolePath $masterRole -ActionType $actionPlan @d …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Invoke-EceAction], ActionExecutionException
+ FullyQualifiedErrorId : Unspecified error,CloudEngine.Cmdlets.InvokeCmdlet

Bardzo często świadczy, to o problemach sieciowych – zwłaszcza, że instalator w tym zakresie nie jest precyzyjny, a my nie-czytając dokumentacji podajemy błędne parametry sieci dla BGPNAT.

Jeżeli przejdziemy troszkę do góry w logu zobaczymy prawdopodobnie problem z rozwiązywaniem nazwy login.microsoftonline.com

 

Możemy jeszcze zweryfikować i sprawdzić wydając polecenie:

PS C:\CloudDeployment\Setup> ping login.microsoftonline.com
Ping request could not find host login.microsoftonline.com. Please check the name and try again.

 

Jak rozwiązać tego typu problem.

Sprawdzić czy prawidłowo ustawiony jest forwarder w DNS na maszynie AzS-DC01 (Uruchamiamy Hyper-V managera i możemy się do niej zalogować używając loginu azurestack\AzureStackAdmin). Niestety jest to maszyna Windows Server Core więc działamy z PowerShella.
Jeżeli tego nie lubimy na naszej głównej maszynie (tej uruchomionej z CloudBuilder.vhdx) uruchamiamy mmc i dodajemy przystawkę DNS i łączymy się z AzS-DC01.azurestack.local i sprawdzamy ustawienia DNS.

Jak widać ustawione mamy, aby w przypadku braku połączenia do Forwardera używał RootHintsów, więc raczej to nie jest to, chyba, że mamy zablokowane odpytywanie zewnętrznych DNSów (UDP/TCP port 53).

Bardziej prawdopodobne, że mamy źle skonfigurowanego NATa na maszynie AzS-BGPNAT01 – w moim przypadku po wydaniu ipconfig oczom ujrzał mi się wpis:

No właśnie – mamy dla interface zewnętrznego przyporządkowany adres 172.25.229.0 !!! Założeniem było, że nasza sieć będzie miała adres 172.25.229.0/24, a pierwszy host to 172.25.229.1. Tak więc musimy zmienić nie tylko adres IP karty Ethernet, ale także reguły NATowania – jak to robimy:

get-netnat #wyświetlamy NATa
Get-NetNat|Remove-NetNat #musimy skasować NATa, bo nie możemy rekonfigurować adresu zewnętrznego
Netsh interface ipv4 set address “ethernet” static 172.25.229.1 255.255.255.0 172.25.229.254 #Ustawiamy nowy adres ip, pamiętajmy, aby to robić po skasowaniu NATa – w przyciwnym wypadku nam się nie uda skasować NATa.
New-NetNat -Name “BGPNAT” -ExternalIPInterfaceAddressPrefix 172.16.229.0/24 #Robimy nowego NATa
Add-NetNatExternalAddress -NatName “BGPNAT” -IPaddress 172.25.229.1 -PortStart 5000 -PortEnd 49151

I od tego momentu powinniśmy móc wykonać ping na 8.8.8.8, a z innych hostów powinićmy móc wykonać ping dns.pl

Powyższej procedury można używać też do zmieniania zewnętrznego adresu ip – aczkolwiek nie jest to cała procedura.


During the implementation of Azure Stack, we can encounter an error of the type:

Invoke-EceAction : Action: Invocation of step 60.120 failed. Stopping invocation of action plan.

The first step will be to restart the installer:

cd C:\CloudDeployment\Setup
PS C:\CloudDeployment\Setup> .\InstallAzureStackPOC.ps1 -rerun

That propably finish with this:

Invoke-EceAction : Action: Invocation of step 60 failed. Stopping invocation of action plan.
At C:\CloudDeployment\Setup\DeploySingleNode.ps1:809 char:5
+ Invoke-EceAction -RolePath $masterRole -ActionType $actionPlan @d …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Invoke-EceAction], ActionExecutionException
+ FullyQualifiedErrorId : Unspecified error,CloudEngine.Cmdlets.InvokeCmdlet

It seems to be a network problem – especially with configuration of BGPNAT and we will probaly find in our output something similar to “could not be resolved login.microsoftonline.com”.

 

We can verify network problems with:

PS C:\CloudDeployment\Setup> ping login.microsoftonline.com
Ping request could not find host login.microsoftonline.com. Please check the name and try again.

 

How to resolve this type of problem.

Check if the forwarder is correctly set in DNS on the AzS-DC01 machine (We can run the Hyper-V manager and we can log in to it using the azurestack\AzureStackAdmin login). Unfortunately, this is a Windows Server Core machine, so we have to use PowerShell.
If you do not like it on our main machine (this one launched from CloudBuilder.vhdx), run mmc and add the DNS snap-in and connect to AzS-DC01.azurestack.local and check the DNS settings.

 

As you can see, we use RootHints in the absence of connection to the Forwarder, so this is probably not the case, unless we have blocked external DNS polling (UDP / TCP port 53).

More likely, we have a wrongly configured NAT on the AzS-BGPNAT01 machine – in my case, after the release of ipconfig, I saw an entry:

 

We have an address for the external interface 172.25.229.0 !!! The assumption was that our network should have the address 172.25.229.0/24, and the first host is 172.25.229.1. So we have to change not only the IP address of the Ethernet card, but also the NAT rule – how we do it:

get-netnat #display NAT
Get-NetNat|Remove-NetNat #we need to delete NAT – we can not reconfigure external address
Netsh interface ipv4 set address “ethernet” static 172.25.229.1 255.255.255.0 172.25.229.254 #Set a new ip address, in order to delete NAT the adress should match.
New-NetNat -Name “BGPNAT” -ExternalIPInterfaceAddressPrefix 172.16.229.0/24 #create a new NATa
Add-NetNatExternalAddress -NatName “BGPNAT” -IPaddress 172.25.229.1 -PortStart 5000 -PortEnd 49151

 And from that moment we should be able to ping on 8.8.8.8, and from other hosts we should be able to ping dns.pl.

The above procedure can also be used to change the external IP address – although this is not the entire procedure.