← Back to team overview

sws team mailing list archive

[Bug 966529] [NEW] floating ip does not move with live migration with multi_host

 

Jian Wen (wenjianhn) has assigned this bug to you for OpenStack Compute (nova):

I have a 2 compute-node setup running multi_host.  If I assign a
floating IP address to a VM and then migrate that VM to another compute
host, the iptables NAT for that floating IP and the assignment of the IP
to the physical network interface remain on the original host.  I would
expect these to move with the live migration.

The networking entries from my nova.conf:

# Networking
--network_manager=nova.network.manager.FlatDHCPManager
--force_dhcp_release
--fixed_range=10.55.100.0/25
--flat_network_dhcp_start=10.55.100.2
--flat_interface=eth2.100
--flat_network_bridge=br100
--libvirt_use_virtio_for_bridges
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--allow_same_net_traffic
--public_interface=eth1
--multi_host

If I have a VM starting on node2 (fixed ip 10.55.100.2), I see this interface assignment for the floating IP (10.54.100.225):
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:30:48:f3:49:5d brd ff:ff:ff:ff:ff:ff
    inet 10.54.0.2/16 scope global eth1
    inet 10.54.100.225/32 scope global eth1

and iptables NAT entries (seen from iptables-save):
-A nova-network-OUTPUT -d 10.54.100.225/32 -j DNAT --to-destination 10.55.100.2
-A nova-network-PREROUTING -d 10.54.100.225/32 -j DNAT --to-destination 10.55.100.2
-A nova-network-float-snat -s 10.55.100.2/32 -j SNAT --to-source 10.54.100.225

All those entries look good/correct to me.  Then I do a live-migration
from node2 to node1.  After that, I verify that the VM has moved
successfully (it has) and I can reach it through the fixed network (I
can).  However, when I look at the floating network, all the entries
from above are still present on node2!  Here's node2 output from "ip a"
again:

eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:30:48:f3:49:5d brd ff:ff:ff:ff:ff:ff
    inet 10.54.0.2/16 scope global eth1
    inet 10.54.100.225/32 scope global eth1

And then from node1:
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:30:48:f3:49:5f brd ff:ff:ff:ff:ff:ff
    inet 10.54.0.1/16 scope global eth1

I definitely would have expected that IP address to change from eth1 on
node2 to eth1 on node1, since I'm running multi_host.  Consider that I
may have done the live migration because I'm about to take node2 down
for maintenance.  Additionally, no NAT entries for that floating ip were
made on node1.  They remain on node2 as well.  All the fixed ip entries
were moved as expected.

Running on Ubuntu 12.04.  Everything installed via apt-get.  Latest packages as of 3/27.
node1:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu precise (development branch)
Release:	12.04
Codename:	precise

node1:~# dpkg -l nova-compute
ii  nova-compute                         2012.1~rc1-0ubuntu2                  OpenStack Compute - compute node
node1:~# dpkg -l nova-network
ii  nova-network                         2012.1~rc1-0ubuntu2                  OpenStack Compute - Network manager

** Affects: nova
     Importance: High
     Assignee: Sina Web Service Dev (sws)
         Status: Triaged


** Tags: essex-release-notes
-- 
floating ip does not move with live migration with multi_host
https://bugs.launchpad.net/bugs/966529
You received this bug notification because you are a member of Sina Web Service Dev, which is a bug assignee.