Table of Contents
To create a Network ATC Intent via PowerShell (either for the first time, doing upgrade from 22H2 til 23H2 where Network ATC was not configured, or doing troubleshooting), we can create it with PowerShell.
Prepare
If the Intent is already present, make sure to remove it from the node first. If you not want to remove it from all nodes in the stack (global config), you will need to stop NetworkATC service on all other nodes in the stack to ensure no config changes is pushed to the stack (global config). Once you are happy with the Intents on one node you are working from where NetworkATC service is still running (reference node), you can remove Intents on all other nodes and start NetworkATC service on these nodes. You should see after a few minutes that NetworkATC creates the intents again on the other nodes.
Stop-Service -Name NetworkATC
To remove the Network ATC Intent, use these commands:
Get-NetIntent -Name INTENTNAME | Remove-NetIntent
Get-VMSwitch -Name ConvergedSwitch(compute_mangement) | Remove-VMSwitch
Use this command to ensure no VM Network Adapter for the Intent is still present:
Get-VmNetworkAdapterVlan -ManagementOS
Create Converged Compute and Management Intent
The most common is to create a converged Compute and Management Intent. The commands below creates the converged Compute and Management Intent with Jumbo Packet Size of 9014 (make sure your network supports this, otherwise remove this line to leave default)
$adapteroverrides = New-NetIntentAdapterPropertyOverrides
$adapteroverrides.NetworkDirect = $false
$adapteroverrides.JumboPacket = "9014"
Add-NetIntent -Name Compute_Management -Compute -Management -AdapterName pNIC01, pNIC02 -ManagementVlan 90 -AdapterPropertyOverrides $adapteroverrides
Create Storage Intent
To create the Storage Intent, you can use this for switchless configuration where you do not want to control VLANs and IP Addresses for the storage network adapters.
$adapteroverridesstorage = New-NetIntentAdapterPropertyOverrides
$adapteroverridesstorage.JumboPacket = "9014"
Add-NetIntent -Name Storage -Storage -AdapterName pSMB01,pSMB02 -AdapterPropertyOverrides $adapteroverridesstorage
If you want to control IP addresses and VLANs for the Storage Intent, you can use these commands instead:
$storageoverrides = New-NetIntentStorageOverrides
$storageoverrides.EnableAutomaticIPGeneration = $false
$adapteroverridesstorage = New-NetIntentAdapterPropertyOverrides
$adapteroverridesstorage.JumboPacket = "9014"
Add-NetIntent -Name Storage -Storage -AdapterName pSMB01,pSMB02,pSMB03,pSMB04 -StorageVlans 711,712,713,714 -StorageOverrides $storageoverrides -AdapterPropertyOverrides $adapteroverridesstorage
If we do not configure the “No Automatic IP Generation” and specify VLANs for storage, the intent will use default configurations:
VLANS:
Network ATC uses the following VLANs by default for adapters with the storage intent type. If the adapters are connected to a physical switch, these VLANs must be allowed on the physical network. If the adapters are switchless, no additional configuration is required.
Adapter Intent | Default Value |
---|---|
Management | Configured VLAN for management adapters isn’t modified |
Storage Adapter 1 | 711 |
Storage Adapter 2 | 712 |
Storage Adapter 3 | 713 |
Storage Adapter 4 | 714 |
Storage Adapter 5 | 715 |
Storage Adapter 6 | 716 |
Storage Adapter 7 | 717 |
Storage Adapter 8 | 718 |
Future Use | 719 |
IP ADDRESSES:
Network ATC will automatically configure valid IP Addresses for adapters with the storage intent type. Network ATC does this in a uniform manner across all nodes in your cluster and verifies that the address chosen isn’t already in use on the network.
The default IP Address for each adapter on each node in the storage intent will be set up as follows:
Adapter | IP Address and Subnet | VLAN |
---|---|---|
pNIC1 | 10.71.1.X | 711 |
pNIC2 | 10.71.2.X | 712 |
pNIC3 | 10.71.3.X | 713 |
pNIC3 | 10.71.4.X | 714 |
Step 7: Verify the deployment on one machine
Verify
Use this command to verify that the Network Intent has been created:
Get-NetIntentStatus -ClusterName (Get-Cluster).Name | Sort Host,IntentName | Select Host, IntentName, LastUpdated,ConfigurationStatus,Error | FL
Troubleshooting
Network ATC failed while applying the intent ( ValidateNetworkAdapterSymmetry)
I have seen an issue with the following error:
“Network ATC failed while applying the intent (FabricManager.AtcException)
at FabricManager.FabricHelperFacade.ValidateNetworkAdapterSymmetry(String displayName, NetAdapterSymmetry symmetryInfo)). Please refer to the service traces for details on the failure. Exception : () “
I my case the NICs, link speed and driver version across all nodes in the stack was the exact same, but driver version was updated on all nodes before we saw this error. I saw that NetAdapterCommonProperties within the Intent was empty. Below is a picture of the expected values: (if these parameters is not set, you will see issues with Network ATC intent provisioning across nodes. The best way to fix is to remove the Intent completly and create again):

Comments