Skip to content

Commit 4038379

Browse files
Merge pull request #16668 from ManikaDhiman/md-ec-network
Update network validator section
2 parents b535fbe + 536b048 commit 4038379

File tree

2 files changed

+54
-31
lines changed

2 files changed

+54
-31
lines changed
279 KB
Loading

azure-local/manage/use-environment-checker.md

Lines changed: 54 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: alkohli
55
ms.author: alkohli
66
ms.topic: how-to
77
ms.service: azure-stack-hci
8-
ms.date: 10/29/2024
8+
ms.date: 12/27/2024
99
---
1010

1111
# Evaluate the deployment readiness of your environment for Azure Local, version 23H2
@@ -406,46 +406,69 @@ To remediate the blocking issues in this output, open the Active Directory tool
406406

407407
### [Network](#tab/network)
408408

409-
It is possible that the IP addresses allocated to Azure Local may already be active on the network. The network validator validates your network infrastructure for valid IP ranges reserved for deployment. It attempts to ping and connect to WinRM and SSH ports to ensure there's no active host using the IP address from the reserved IP range.
409+
It is possible that the IP addresses allocated to Azure Local may already be active on the network. The network validator validates your network infrastructure for valid IP ranges reserved for deployment. It attempts to ping and connect to WinRM and SSH ports to ensure there's no active host using the IP address from the reserved IP range.
410410

411-
You provide the network IP range reserved for Azure Local deployment as part of the answer file JSON, which you can use during network validation. Or, you can manually provide the starting and ending IP addresses when running the validator cmdlet.
411+
Network validator also checks storage connection, adapter driver readiness, and other host network configuration readiness.
412412

413-
### Run the network validator
414-
415-
To run the network validator locally on the Azure Local machine node, the workstation, or the staging server with the answer file, follow these steps.
416-
417-
1. Run one of the following cmdlets:
418-
419-
420-
- If using the answer file:
421-
422-
```powershell
423-
Invoke-AzStackHciNetworkValidation -AnswerFile <Answerfilename>.json
424-
```
425-
426-
- If entering the starting and ending IP addresses manually:
427-
428-
```powershell
429-
Invoke-AzStackHciNetworkValidation -StartingAddress <StartingIPRangeAddress> -EndingAddress <EndingIPRangeAddress>
430-
```
413+
You provide the answer file JSON as the input for network validator cmdlet call. Or you can manually provide the individual parameters when running the validator cmdlet.
431414

432-
### Network validator output
415+
> [!NOTE]
416+
> You must run the network validator on the final hardware that you want to use for the Azure local instance deployment.
433417
434-
The following samples are the output from successful and unsuccessful runs of the network validator.
418+
### Run the network validator
435419

436-
To learn more about different sections in the readiness check report, see [Understand readiness check report](#understand-readiness-check-report).
420+
To run the network validator locally on the Azure Local node with the answer file, use the following commands:
437421

438-
**Sample output: Successful test**
422+
```powershell
423+
$allServers = "<ARRAY OF SERVERS' IP>" # you need to use IP for the connection
424+
$userName = "<LOCALADMIN>"
425+
$secPassWord = ConvertTo-SecureString "<LOCALADMINPASSWORD>" -AsPlainText -Force
426+
$hostCred = New-Object System.Management.Automation.PSCredential($userName, $secPassWord)
427+
[System.Management.Automation.Runspaces.PSSession[]] $allServerSessions = @()
428+
foreach ($currentServer in $allServers) {
429+
$currentSession = Microsoft.PowerShell.Core\New-PSSession -ComputerName $currentServer -Credential $hostCred -ErrorAction Stop
430+
$allServerSessions += $currentSession
431+
}
432+
$answerFilePath = "<ANSWERFILELOCATION>" # Like C:\MASLogs\Unattended-2024-07-18-20-44-48.json
433+
Invoke-AzStackHciNetworkValidation -DeployAnswerFile $answerFilePath -PSSession $allServerSessions -ProxyEnabled $false
434+
```
439435

440-
The following sample is the output from a successful run of the network validator. The output indicates no active host is using an IP address from the reserved IP range.
436+
To run the network validator locally on the Azure Local node using individual parameters, use the following commands:
441437

442-
:::image type="content" source="./media/use-environment-checker/network-validator-sample-passed.png" alt-text="Screenshot of a passed report after running the network validator." lightbox="./media/use-environment-checker/network-validator-sample-passed.png":::
438+
```powershell
439+
$answerFilePath = "<ANSWERFILELOCATION>"
440+
$managementSubnetCIDR = "<CIDR string for management subnet>"
441+
$logOutputPath = "<LOGFILELOCATION>"
442+
$userName = "<LOCALADMIN>"
443+
$secPassWord = ConvertTo-SecureString "<LOCALADMINPASSWORD>" -AsPlainText -Force
444+
$sessionCredential = New-Object System.Management.Automation.PSCredential($userName, $secPassWord)
445+
$answerFileContent = Get-Content $answerFilePath -Raw | ConvertFrom-Json
446+
$ipPools = New-Object System.Collections.ArrayList
447+
[System.Management.Automation.Runspaces.PSSession[]] $allServerSessions = @()
448+
foreach ($ipPool in $answerFileContent.scaleUnits[0].deploymentData.infrastructureNetwork[0].ipPools) {
449+
$currentPoolObject = [PSCustomObject] @{
450+
StartingAddress = $ipPool.StartingAddress
451+
EndingAddress = $ipPool.EndingAddress
452+
}
453+
$ipPools.Add($currentPoolObject)
454+
}
455+
[PSObject[]] $atcHostIntentsInfo = $answerFileContent.scaleUnits[0].deploymentData.hostNetwork.intents
456+
[System.String[]] $allServers = $answerFileContent.scaleUnits[0].deploymentData.physicalNodes.Name
457+
[System.Management.Automation.Runspaces.PSSession[]] $allServerSessions = @()
458+
foreach ($currentServer in $allServers) {
459+
$currentSession = Microsoft.PowerShell.Core\New-PSSession -ComputerName $currentServer -Credential $sessionCredential -ErrorAction Stop
460+
$allServerSessions += $currentSession
461+
}
462+
Invoke-AzStackHciNetworkValidation -IpPools $ipPools -ManagementSubnetValue $managementSubnetCIDR -PSSession $allServerSessions -SessionCredential $sessionCredential -OutputPath $logOutputPath -AtcHostIntents $atcHostIntentsInfo
463+
```
464+
465+
### Network validator sample output
443466

444-
**Sample output: Failed test**
467+
Here's a sample output of an unsuccessful run of the network validator. The failure occurs because the network adapter has two IP addresses, when it should have only one.
445468

446-
The following sample is the output from a failed run of the network validator. This output shows two active hosts are using IP address from the reserved IP range.
469+
:::image type="content" source="./media/use-environment-checker/network-validator-sample-failed.png" alt-text="Screenshot of a failed report after running the network validator." lightbox="./media/use-environment-checker/network-validator-sample-failed.png":::
447470

448-
:::image type="content" source="./media/use-environment-checker/network-validator-sample-failed.png" alt-text="Screenshot of a failed report after running the network validator." lightbox="./media/use-environment-checker/network-validator-sample-failed.png":::
471+
To learn more about different sections in the readiness check report, see [Understand readiness check report](#understand-readiness-check-report).
449472

450473
### [Arc integration](#tab/arc-integration)
451474

@@ -517,7 +540,7 @@ The information displayed on each readiness check report varies depending on the
517540
| **Diagnostics** | Displays the result of the diagnostic tests. For example, the health and availability of a DNS server. It also shows what information the validator collects for diagnostic purposes, such as WinHttp, IE proxy, and environment variable proxy settings. | Connectivity validator report|
518541
| Hardware | Displays the health status of all the physical machines and their hardware components. For information on the tests performed on each hardware, see the table under the "Hardware" tab in the [Run readiness checks](#run-readiness-checks) section. | Hardware validator report|
519542
| **AD OU Diagnostics** | Displays the result of the Active Directory organization unit test. Displays if the specified organizational unit exists and contains proper sub-organizational units. | Active Directory validator report|
520-
| Network range test | Displays the result of the network range test. If the test fails, it displays the IP addresses that belong to the reserved IP range. | Network validator report |
543+
| Network test | Displays the result of the network test. If the test fails, it displays the results and corresponding remediations. | Network validator report |
521544
| **Summary** | Lists the count of successful and failed tests. Failed test results are expanded to show the failure details under **Needs Remediation**.| All reports |
522545
| **Remediation** | Displays only if a test fails. Provides a link to the article that provides guidance on how to remediate the issue. | All reports |
523546
| **Log location (contains PII)** | Provides the path where the log file is saved. The default path is:<br><br>- `$HOME\.AzStackHci\AzStackHciEnvironmentChecker.log` when you run the Environment Checker in a standalone mode.<br>- `C:\CloudDeployment\Logs` when the Environment Checker is run as part of the deployment process.<br><br> Each run of the validator overwrites the existing file.| All reports |

0 commit comments

Comments
 (0)