floating ip does not move with live migration with multi_host
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Jian Wen |
Bug Description
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_
--force_
--fixed_
--flat_
--flat_
--flat_
--libvirt_
--dhcpbridge_
--dhcpbridge=
--allow_
--public_
--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,
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-
-A nova-network-
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,
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,
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
tags: | added: essex-release-notes |
Changed in nova: | |
assignee: | nobody → Jian Wen (wenjianhn) |
Changed in nova: | |
assignee: | Jian Wen (wenjianhn) → nobody |
Changed in nova: | |
importance: | Medium → High |
Changed in nova: | |
assignee: | nobody → Sina Web Service Dev (sws) |
Changed in nova: | |
assignee: | Sina Web Service Dev (sws) → Jian Wen (wenjianhn) |
Changed in nova: | |
milestone: | none → grizzly-1 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | grizzly-1 → 2013.1 |
This is correct. We move the dhcp but not the floating ips.