NFA 3 to 2-Tier Migration fails with lack of resources error

Document ID : KB000008471
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

When running the NFA 3 to 2 Tier migration, you could run into this error:

Test-Connection : Testing connection to computer 'x.x.x.x' failed: Error due to lack of resources 

At D:\3TConverter\3TConverter.ps1:177 char:31 

+ $TimeToLive = Test-Connection <<<< $harvesterip -Count 1 | select -exp ResponseTimeToLive 

+ CategoryInfo : ResourceUnavailable: (x.x.x.x:String) [Test-Connection], PingException 

+ FullyQualifiedErrorId : TestConnectionException,Microsoft.PowerShell.Commands.TestConnectionCommand 

Copying installdir\Netflow\datafiles\ReaperArchive15\xxxxxxxxxxxx\00039\1471651200 to harvester x.x.x.x

ERROR: Unable to copy files to Linux Harvester: xxx.xxx.xxx.xxx

Exception Type: System.Management.Automation.CommandNotFoundException 

Exception: The term 'plink.exe' is not recognized as the name of a cmdlet, function, script file, or operable pro 

gram. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. 

PS D:\3TConverter>>> 

 

******

In spite of the reference to a "Linux Harvester", all of the Harvesters are running on Windows.

 

Environment:
NFA 9.3.3 / 9.3.6 / 9.3.7Windows Server 2008 / 2012Windows Powershell 2.0
Cause:

The 3TConverter.ps1 script attempts to determine the OS type of the Harvester machines by testing the "ResponseTimeToLive" setting of the target machine. The script may sometimes falsely think that you are running a Linux Harvester, when it is a Windows Harvester while using Powershell 2.0.

A command will fail and halt the migration.

 

Resolution:

If all of the Harvesters are running on Windows machines, we can edit the "3TConverter.ps1" script to remove the OS check.

  1. Edit the 3TConverter.ps1 file.

  2. Replace: 

function Is-Linux-Harvester { 

Param ([String]$harvesterip) 

$TimeToLive = Test-Connection $harvesterip -Count 1 | select -exp ResponseTimeToLive 

if($TimeToLive -le 64){ 

return $true 

}else{ 

return $false 

 

With: 

function Is-Linux-Harvester { 

Param ([String]$harvesterip) 

return $false

}

  3. Restart the script.