Pre-configuring the network These instructions are for using the FlatDHCP networking mode with a single network interface. More complex configurations are described in the networking section, but this configuration is known to work. These configuration options should be set on all compute nodes. Set your network interface in promiscuous mode so that it can receive packets that are intended for virtual machines. As root:# ip link set eth0 promisc on Set up your /etc/network/interfaces file with these settings: eth0: public IP, gateway br100: no ports, stp off, fd 0, first address from your defined network range. Here's an Ubuntu/Debian example: # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp # Bridge network interface for VM networks auto br100 iface br100 inet static address 192.168.100.1 netmask 255.255.255.0 bridge_stp off bridge_fd 0 Here's an example network setup for RHEL, Fedora, or CentOS. Create /etc/sysconfig/network-scripts/ifcfg-br100: DEVICE=br100 TYPE=Bridge ONBOOT=yes DELAY=0 BOOTPROTO=static IPADDR=192.168.100.1 NETMASK=255.255.255.0 Here's an example network setup for openSUSE. Create /etc/sysconfig/network/ifcfg-br100: DEVICE=br100 TYPE=Bridge ONBOOT=yes DELAY=0 BOOTPROTO=static STARTMODE=auto IPADDR=192.168.100.1 NETMASK=255.255.255.0 Also install bridge-utils: $ sudo apt-get install bridge-utils $ sudo yum install bridge-utils $ sudo zypper install bridge-utils Ensure that you set up the bridge, although if you use flat_network_bridge=br100 in your nova.conf file, nova will set up the bridge for you when you run the nova network-create command. $ sudo brctl addbr br100 Lastly, restart networking to have these changes take effect. (This method is deprecated but "restart networking" doesn't always work.) $ sudo /etc/init.d/networking restart
Configuration requirements with RHEL Set selinux in permissive mode: $ sudo setenforce permissive Otherwise you will get issues like https://bugzilla.redhat.com/show_bug.cgi?id=734346 /usr/bin/nova-dhcpbridge: No such file or directory. If you are using a distribution based on RHEL 6.2 or earlier, use the openstack-config utility to turn off forced DHCP releases: $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False If you are using a distribution based on RHEL 6.3 or later, install the dnsmasq utilities (dnsmasq-utils) package, which provides support for forced DHCP releases: $ sudo yum install dnsmasq-utils If you intend to use guest images that don't have a single partition, then allow libguestfs to inspect the image so that files can be injected, by setting: $> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_inject_partition -1