You're an Azure Stack HCI Administrator and you've worked tirelessly to test your clusters and get them ready for production; you've filled out the necessary paperwork, you've gotten sign-off from all the stakeholders; and now it's time to implement your configuration in production. Your boss gives you a short window to deploy your new clusters and you need to make sure that what you tested - your reference cluster - represents the configuration you're sending to your production clusters. Oh yeah, and you have 100's of clusters that need this configuration complete with custom VLANs, MTU sizes, and all the other environmental changes you made to ensure it works in your environment. If you forget any of these configuration items, your cluster may be unstable or even non-functional! Well worry not, for Network ATC has an easy and straightforward way for you to copy your cluster and intent set up from a reference (testing) cluster to a production system, as long as they have connectivity.
To do this, you only need the Copy-NetIntent cmdlet. The Copy-NetIntent cmdlet enables you to move an intent from a testing to a production system. Copy-NetIntent works when copying intents to and from all kinds of systems, be it standalone to standalone, standalone to clustered, clustered to standalone or clustered to clustered.
Here is a quick video demonstration of how to use the Copy-NetIntent command to copy over an intent on your reference cluster to a production system:
Below is a step-by-step demonstration of how you use the Copy-NetIntent cmdlet to copy over a sample intent deployed on a stand-alone node in a testing system (your reference cluster) to a production system.
Node 1: Stand-alone node with Network ATC running on it (your reference cluster)
Node 2: Node in a production cluster where you want to move your intent to. (your production system)
On node 1, we create a QosPolicyOverride. Run:
$qosOverride = New-NetIntentQoSPolicyOverrides
Now set the bandwidth percentage for SMB traffic to 70%. Run:
$qosOverride.BandwidthPercentage_SMB = 70
Having created the override, we will now pass it as we add an intent.
On node 1, run: Add-NetIntent -Name storage_compute -Storage -Compute -AdapterName pNIC1, pNIC2 -QoSPolicyOverrides $qosOverride
It may take some time for the intent to deploy. Once it completes deploying, you can confirm success by running Get-NetIntentStatus.
Thus, you now have a reference cluster set-up on your testing system that you can now move to your production system.
In the following steps, we will move our intent, along with any other overrides and custom configurations, from our reference cluster to a production system.
Ping node 2 from node 1 to confirm connectivity.
Run the following command on Node 1:
Copy-NetIntent -Name “compute_storage” -SourceComputer “Node1” -DestinationCluster <Cluster of Node 2>
To check a successful deployment and a successful copying of the intent onto your production system, go to Node 2 and run:
To confirm that Copy-NetIntent copied over all minute configurations and overrides of the intent, we check that our previously set QosPolicyOverride has copied over to the second node (our production system).
To do this, on node 2, run:
We observe that the SMB_Direct bandwidth percentage is set at 70%, exactly like the override.
Another quick way to check that the override was copied over to your production system, run (on node 2):
$intent = Get-NetIntent
Copy-NetIntent makes duplicating an intent, along with all custom configurations (overrides), to other nodes and clusters incredibly easy. This automation cuts down the time for deployment across many locations and helps make Azure Stack HCI an even more efficient solution. If you have several deployments, I hope you’ll give Network ATC and Copy-NetIntent a shot.
Thank you for reading.