is it still true that vncserver_listen must be set to 0.0.0.0 for live migration to work?
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet-nova |
Fix Released
|
High
|
Emilien Macchi | ||
tripleo |
Fix Released
|
High
|
Juan Antonio Osorio Robles |
Bug Description
On a redhat osp9 (liberty) openstack deployment, we have routable mgmt ips in the compute nodes. Setting vncserver_listen allows unproxied access to vnc consoles. We would like to set to the internal api network, but found this code in puppet-
raise_
Is this true anymore? I was able to set vncserver_listen to the internalapi ip on two compute hosts and could still live migrate between the two. The vnc listen address was updated during the migration process to the ip for the destination compute host.
Could this be an outdated assumption?
Changed in puppet-nova: | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Emilien Macchi (emilienm) |
assignee: | Emilien Macchi (emilienm) → nobody |
Changed in puppet-nova: | |
assignee: | nobody → Emilien Macchi (emilienm) |
status: | Triaged → In Progress |
Changed in tripleo: | |
importance: | Undecided → High |
status: | New → Triaged |
assignee: | nobody → Emilien Macchi (emilienm) |
milestone: | none → ocata-rc1 |
Changed in tripleo: | |
assignee: | Emilien Macchi (emilienm) → Juan Antonio Osorio Robles (juan-osorio-robles) |
> raise_error( Puppet: :Error, /For migration support to work, you MUST set vncserver_listen to '0.0.0.0' or '::0'/) }
This message is very outdated. The restriction was fixed in nova years ago with
commit ea7da5152cdca7b a674e2137c38999 09995e2287
Author: Solly Ross <email address hidden>
Date: Tue Feb 4 14:27:51 2014 -0500
Change listen address on libvirt live-migration
Previously, in order for libvirt live migration to work,
the graphics listen addresses (VNC and/or Spice) had to be
set on both machines to be 0.0.0.0 or ::. This was because libvirt
would try to rebind to the source address on the destination
machine, but would fail due to the source machine already having
that address (this would not happen for 0.0.0.0 or ::, however).
Now, a modified copy of the instance's XML is passed to libvirt's
migrate function, such that the listen addresses are that of the
destination machine. The addresses are stashed in the pre-migration
data by the destination pre-migration method.
Note that this functionality will only work on versions of libvirt XML_MIGRATABLE flag. If the flag is not detected
with the VIR_DOMAIN_
(anything vanilla libvirt less than 1.0.0), the live migration code
will fall back to the old method.
Fixes: bug #1279563
Change-Id: I6c950028302719 3179c11d18ad424 2e165a9ad6e