Launchpad Entry: multinic-libvirt
Created: Ilya Alekseyev
Contributors: Eldar Nugaev, Ilya Alekseyev
Summary
We need support for multiple network interfaces per instance for libvirt. Our vision based on http://wiki.openstack.org/multi-nic specification. with some additions.
Release Note
This is implementation same functionality as in https://blueprints.launchpad.net/nova/+spec/multi-nic for libvirt. Multiple NIC for libvirt allows users to have instances connected to several networks. Implementation of this blueprint is first step in add support multi-nics for libvirt.
Rationale
User stories
Assumptions
Design
https://blueprints.launchpad.net/nova/+spec/multi-nic GD PoC branches: https://code.launchpad.net/~ilyaalekseyev/nova/libvirt-multinic-experemental
Implementation
UI Changes
Code Changes
- libvirt connection changes
- changes in libvirt_con.to_xml() propagate NIC data
- firewall rules changes
- All firewall drivers would be changed to support multiple networks per instance. iptable rules should be changed.
- network managers changes
FlatManager: open question - seems it is not required to be changed, but we need to check it
- FlatDHCPManager should be changed to support multiple networks
VlanManager should be changed to support multiple networks
- template changes
- Add support of several NICs to template:
1 #for $nic in $nics 2 <interface type='bridge'> 3 <source bridge='$nic.bridge_name'/> 4 <mac address='$nic.mac_address'/> 5 <!-- <model type='virtio'/> CANT RUN virtio network right now --> 6 <filterref filter="nova-instance-$nic.name"> 7 <parameter name="IP" value="$nic.ip_address" /> 8 <parameter name="DHCPSERVER" value="$nic.dhcp_server" /> 9 #if $getVar('extra_params', False) 10 $nic.extra_params 11 #end if 12 #if $getVar('ra_server', False) 13 <parameter name="RASERVER" value="$nic.ra_server" /> 14 #end if 15 </filterref> 16 </interface> 17 #end for 18
- Add support of several NICs to template:
Migration
Test/Demo Plan
We need both unit and integration tests. Second is more important.
Unresolved issues
BoF agenda and discussion
http://ietherpad.com/arRVMd2Lwl