Monthly Archives: December 2011

OpenStack Auto Assign Floating IP Not Working in Diablo

Being able to spin up instances in OpenStack is one thing, but they’re not much use if you can’t connect to them using the public network you’ve assigned to it.

Unfortunately in Diablo, the flag –auto_assign_floating_ip=true causes instances to be stuck at pending, and the nova-network.log spews out the something like the following snippet:

(nova.rpc): TRACE:     raise exception.FloatingIpNotFoundForAddress(address=address)
(nova.rpc): TRACE: FloatingIpNotFoundForAddress: Floating ip not found for address
<nova.db.sqlalchemy.models.FloatingIp object at 0x2fc5d90>.

This is down to a bug introduced in Diablo, https://bugs.launchpad.net/nova/+bug/834633

The fix is simple though (tested on Ubuntu 11.10 running Python 2.7):

  1. wget https://review.openstack.org/cat/1328%2C3%2Cnova/network/manager.py%5E0 -O nova_network_manager.zip
  2. unzip nova_network_manager.zip
  3. mv /usr/lib/python2.7/dist-packages/nova/network/manager.py{,.orig}
  4. cp manager_new-305ad3be8272f0c69fa9caa8707994ee9233201f.py /usr/lib/python2.7/dist-packages/nova/network/manager.py
  5. restart nova-network
  6. restart nova-compute

 

Update 08/01/2012:  Alternatively you can use the oneiric-proposed repository that has the fix in for Diablo:

Add the following to /etc/apt/sources.list

 deb http://archive.ubuntu.com/ubuntu oneiric-proposed main restricted universe multiverse

Then run

apt-get update
apt-get -y dist-upgrade

Then reboot your host.