I ran into an interesting issue today where we had a client migrating to us that needed us to allocated X IPs to each VPS on a node he had with us. X ranged from 1 IP to up to 12 per VE so I wrote a script that took three input files (one with available IPs [newips], one with VEIDs [veids], and one with the number of IPs each VEID was allocated [numips]) and doled out the IPs as needed. Here is the result:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/bin/bash let r=1 let k=1 for i in `cat veids` do numips=$(sed -n "$k"p numips) for (( c=1; c<=$numips; c++ )) do ip=$(sed -n "$r"p newips) echo "Add $ip to $i" vzctl set $i --ipadd $ip --save let r=r+1 done let k=k+1 done |
Hopefully this will help any others who run into a similar issue.
Have a great day!