Yes, the vm definition already has the bridge name chosen (on initial startup), and that definition is migrated between hosts. This is further exacerbated by the fact that the bridges are created on the destination host prior to migration (so they'll be ready), rather than somehow being able to see the existing configuration and prepare for the vm based on that. That ultimately probably doesn't matter much anyway, since we can't host two different bridges for the same vlan (the advantage of detecting what bridge name a migrating VM has would be to bring up the required bridge name for migrating VMs, and use the new bridge name for freshly started VMs, which isn't possible).
As a workaround, if you want to force any rebooted, upgraded KVM hosts to use the old style naming, you can create any random bridge named 'cloudVirBr', and the agent will detect it and continue to use the old style naming until such point when you can or need to switch to the capabilities of the new style naming. At that point you'll need to stop any and all VMs that are using the old style name, remove any old style bridges (or reboot the host), and then start things back up. This really should have been documented in the release notes. I think it was a misunderstanding that the upgrade process would require everything be restarted. On Mon, Aug 5, 2013 at 4:05 PM, Simon Weller <swel...@ena.com> wrote: > All, > > As most know, the upgrade from 4.0 to 4.1 changed the interface naming > schema. When a host in a cluster is rebooted, the interface naming changes. > When this occurs, live migration breaks to that host. > > Example config: > All Management and hosts running CS 4.1.1 > Hypervisor: KVM on RHEL 6.3 > Host 1 has older 4.0 interface naming schema > Host 2 was rebooted and has newer interface schema > > Live Migration is looking for older interface schema name (i.e. > cloudVirBr<vlan>) when attempting a migration from Host 1 to Host 2. > > Here's a sample log: > > > 2013-08-05 16:45:21,846 DEBUG [agent.transport.Request] > (Job-Executor-34:job-1660) Seq 19-1921285594: Sending { Cmd , MgmtId: > 159090354809909, via: 19, Ver: v1, Flags: 100111, > [{"MigrateCommand":{"vmName":"i-44-255-VM","destIp":"<hostip>","hostGuid":"91e9b633-f46b-31f3-9a4b-92285fd94b62-LibvirtComputingResource","isWindows":false,"wait":0}}] > } > 2013-08-05 16:45:21,926 DEBUG [agent.transport.Request] > (StatsCollector-1:null) Seq 1-1768126050: Received: { Ans: , MgmtId: > 159090354809909, via: 1, Ver: v1, Flags: 10, { GetVmStatsAnswer } } > 2013-08-05 16:45:21,963 DEBUG [agent.manager.AgentManagerImpl] > (AgentManager-Handler-7:null) Ping from 5 > 2013-08-05 16:45:22,012 DEBUG [agent.transport.Request] > (AgentManager-Handler-9:null) Seq 19-1921285594: Processing: { Ans: , MgmtId: > 159090354809909, via: 19, Ver: v1, Flags: 110, > [{"MigrateAnswer":{"result":false,"details":"Cannot get interface MTU on > 'cloudVirBr18': No such device","wait":0}}] } > 2013-08-05 16:45:22,012 DEBUG [agent.manager.AgentAttache] > (AgentManager-Handler-9:null) Seq 19-1921285594: No more commands found > 2013-08-05 16:45:22,012 DEBUG [agent.transport.Request] > (Job-Executor-34:job-1660) Seq 19-1921285594: Received: { Ans: , MgmtId: > 159090354809909, via: 19, Ver: v1, Flags: 110, { MigrateAnswer } } > 2013-08-05 16:45:22,012 ERROR [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-34:job-1660) Unable to migrate due to Cannot get interface MTU > on 'cloudVirBr18': No such device > 2013-08-05 16:45:22,013 INFO [cloud.vm.VirtualMachineManagerImpl] > (Job-Executor-34:job-1660) Migration was unsuccessful. Cleaning up: > VM[User|app01-dev] > 2013-08-05 16:45:22,018 > > Is there any current way to change the destination network CS Management uses > so that a complete VM shutdown and restart isn't required to re-enable > migration between hosts? > > Any ideas would be appreciated. > > - Si