Nutanix AHV: Manage batch subnets via CLI

For a customer case, we had to create more than 70 subnets on 2 clusters and performing the operation through the graphical interface would have been much too long and tedious. Here is the method to perform the operation in CLI in just a few minutes.
Creating unmanaged subnets
To make my task much easier, I created an Excel file in .csv format in which I put 3 columns:

For the sake of sharing, you can find the .csv file on my Github : https://github.com/Exe64/NUTANIX/blob/main/nutanix-unmanaged-subnets.csv
The idea is to fill the VLAN_NAME and VLAN_ID column with the name of the VLANs and their associated IDs, provided by the customer in the Predelivery Questionnaire:

Which would give:

Save the file and then open it with Notepad++:

Replace the “;” character with a space:

Then replace “vlan=” with “vlan=” to attach the VLAN ID to the command:

Then connect to a CVM in your cluster and copy and paste all the lines at once into the command line interface:
Nutanix Controller VM (CVM) is a virtual storage appliance.
Alteration of the CVM (unless advised by Nutanix Technical Support or
Support Portal Documentation) is unsupported and may result in loss
of User VMs or other data residing on the cluster.
Unsupported alterations may include (but are not limited to):
- Configuration changes / removal of files.
- Installation of third-party software/scripts not approved by Nutanix.
- Installation or upgrade of software packages from non-Nutanix
sources (using yum, rpm, or similar).
** SSH to CVM via 'nutanix' user will be restricted in coming releases. **
** Please consider using the 'admin' user for basic workflows. **
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_10 vlan=10
acli net.create VLAN_26 vlan=26
acli net.create VLAN_27 vlan=27
acli net.create VLAN_28 vlan=28
acli net.create VLAN_29 vlan=29
acli net.create VLAN_30 vlan=30
acli net.create VLAN_31 vlan=31
acli net.create VLAN_32 vlan=32
acli net.create VLAN_33 vlan=33
acli net.create VLAN_34 vlan=34
acli net.create VLAN_35 vlan=35
acli net.create VLAN_36 vlan=36
acli net.create VLAN_37 vlan=37
acli net.create VLAN_38 vlan=38
acli net.create VLAN_39 vlan=39
acli net.create VLAN_40 vlan=40nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_11 vlan=11
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_12 vlan=12
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_13 vlan=13
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_14 vlan=14
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_15 vlan=15
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_16 vlan=16
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_17 vlan=17
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_18 vlan=18
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_19 vlan=19
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_20 vlan=20
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_21 vlan=21
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_22 vlan=22
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_23 vlan=23
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_24 vlan=24
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_25 vlan=25
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_26 vlan=26
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_27 vlan=27
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_28 vlan=28
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_29 vlan=29
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_30 vlan=30
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_31 vlan=31
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_32 vlan=32
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_33 vlan=33
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_34 vlan=34
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_35 vlan=35
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_36 vlan=36
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_37 vlan=37
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_38 vlan=38
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_39 vlan=39
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$ acli net.create VLAN_40 vlan=40
nutanix@NTNX-e854cc31-A-CVM:192.168.2.200:~$
A quick check on the Prism Element interface to confirm that your VLANs have been created correctly:

Creating managed subnets
We are on the same principle as for unmanaged subnets, I have prepared a small CSV file for you: https://github.com/Exe64/NUTANIX/blob/main/nutanix-managed-subnets.csv
The additional step is to replace “GATEWAY/MASK” with the gateway of the network you want to add along with its subnet mask. Example:
acli net.create VLAN_SERVEURS vlan=2 ip_config=10.100.2.254/24
Then, you must of course redo the cleaning of your file via Notepad to replace with a space or remove the “;” before importing all this into your SSH terminal.
In our example, you will create the following network:
- Network: 10.100.2.0
- Mask: 255.255.255.0
- Gateway: 10.100.2.254
You can also change the DHCP settings of your subnets in bulk as described in the official documentation: https://portal.nutanix.com/page/documents/details?targetId=Command-Ref-AOS-v6_8:acl-acli-net-auto-r.html
Deleting subnets
To delete subnets the principle is similar, just replace “net.create” with “net.delete” and only indicate the name of the subnets to delete:
acli net.delete VLAN_NAME
I have also created a CSV file available on my Github for this: https://github.com/Exe64/NUTANIX/blob/main/nutanix-subnets-delete.csv
1 comments