“Ganeti is a cluster virtual server management software tool built on top of existing virtualization technologies such as Xen or KVM and other open source software. ”
This is how I changed the secondary network configuration using Ganeti command line tools.
1, First, say I need to change the network from 10.0.0.0/24 to 10.1.0.0/16, I first will remove all 10.0.0.0/24 NICs from all instances. The following command will remove the last NIC from the instance:
gnt-instance modify --net remove <instance>
2, After all 10.0.0.0/24 NICs have been removed from all instances, the network can be disconnected:
gnt-network disconnect <network>
3, Next is to remove the network CIDR from the cluster:
gnt-network remove <network>
4, Re-add the network with the new CIDR:
gnt-network add --network=10.1.0.0/16 <network>
5, Re-connect the network to the cluster:
gnt-network connect<network> bridged <bridge>
6, Re-add the NIC from the new network to every instance:
gnt-instance modify --net add:network=<network>,ip=pool <instance>
7, The new NIC won’t be effected until the instance is rebooted by Ganeti:
gnt-instance reboot <instance>
8, Not sure if there’s a way to pickup the IP automatically, at least I can assign the IP manually by editing /etc/ network/ interfaces with the new IP.
9, Execute `ifup` to bring up the NIC. That’s it! 🙂