On Mon, Jan 17, 2011 at 1:35 PM, Apollon Oikonomopoulos <[email protected]> wrote:
> This patch introduces network configuration for KVM in Ganeti. > > There are three problems with having KVM perform network configuration via > ifup > scripts: > a) Ganeti never gets to know the tap interface that is associated with an > instance's NIC > b) Migration of routed instances will cause network problems because the > incoming KVM side configures the network as soon as it is spawned and not > as soon as the migration finishes. This means that all routing > configuration will be present in both, primary and secondary, nodes at the > same time, possibly causing network disruption during the migration. > c) We never get to know if the network configuration succeeded or not. > > This patch moves network configuration from KVM to Ganeti, using KVM's ability > to receive already open tap devices as file descriptors. > > _WriteNetScript is removed from hv_kvm.py, together with its unit tests. > > Minor modifications are made to _ExecKVMRuntime to handle tap device > initialization. NIC <-> tap associations are stored under a new directory, > _ROOT_DIR/nic in a file-per-nic fashion. > > The end-user semantics remain the same: The user can override the network > configuration by providing _KVM_NET_SCRIPT. If this is not present or > executable, the default constants.KVM_IFUP script is run. > > Signed-off-by: Apollon Oikonomopoulos <[email protected]> LGTM Thanks, Guido
