What is the correct network configuration for a devStack VM (virtualbox)?

Usually when I setup a new Ubuntu VM, i keep the eth0 in NAT mode to get the internet & I add a eth1 interface in HostOnly mode so that I can ssh.

But using this devStack guide : Running a Cloud in a VM, it looks like it tried to use eth0 as the public interface (install got stuck because eth0 lost the network).

I know an OpenStack setup usually requires two NICs, so I'm wondering what is the correct configuration for my VM.


Solution 1:

I started with the guide Experimenting with OpenStack Essex on Ubuntu 12.04 LTS under VirtualBox and here are the settings I wound up with in VirtualBox

Under Preferences > Network create a Host-only network called vboxnet0.

vboxnet0 (disable DHCP Server too)

vboxnet0

Create a new VM and go to the Network section.

The Adapters for the VM itself. Adapter 1Adapter 2

Network settings in the Ubuntu VM /etc/network/interfaces

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

#Public Interface
#auto eth1
#iface eth1 inet static
#address 172.16.0.1
#netmask 255.255.0.0
#network 172.16.0.0
#broadcast 172.16.255.255

# Instead of having eth1 in /etc/network/interfaces
# we create directly br100 and attach it to eth1
auto br100
iface br100 inet static
address 172.16.0.1
netmask 255.255.0.0
network 172.16.0.0
broadcast 172.16.255.255
    bridge_ports eth1
    bridge_stp off
    bridge_maxwait 0
    bridge_fd 0

And in my devstack localrc / local.conf file I've included the following settings:

HOST_IP=172.16.0.1
FLAT_INTERFACE=br100
PUBLIC_INTERFACE=eth1
FLOATING_RANGE=172.16.0.128/25

This will allow to access your instances (when associated to a floating IP) from your host machine

Hope this works for you too!

Everett

Solution 2:

If you have vagrant installed along with virtualbox, you can start devstack using vagrant-devstack:

$ git clone [email protected]:dolph/vagrant-devstack.git
$ cd vagrant-devstack
$ vagrant up

Networking configuration is handled by the included Vagrantfile.