yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #38252
[Bug 1293540] Re: nova should make sure the bridge exists before resuming a VM after an offline snapshot
*** This bug is a duplicate of bug 1328546 ***
https://bugs.launchpad.net/bugs/1328546
This should be resolved now on the neutron side given Sean Collins
removed the code in the neutron linuxbridge agent that removed empty
bridges:
https://review.openstack.org/#/q/I4ccc96566a5770384eacbbdc492bf09a514f5b31,n,z
That's been backported to stable/juno so we should be good - I don't
think we need the nova side changes now.
** This bug has been marked a duplicate of bug 1328546
Race condition when hard rebooting instance
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1293540
Title:
nova should make sure the bridge exists before resuming a VM after an
offline snapshot
Status in neutron:
Confirmed
Status in OpenStack Compute (nova):
In Progress
Bug description:
My setup is based on icehouse-2, KVM, Neutron setup with ML2 and the linux bridge agent, CentOS 6.5 and LVM as the ephemeral backend.
The OS should not matter in this, LVM should not matter either, just make sure the snapshot takes the VM offline.
How to reproduce:
1. create one VM on a compute node (make sure only one VM is present).
2. snapshot the VM (offline).
3. linux bridge removes the tap interface from the bridge and decides to remove the bridge also since there are no other interfaces present.
4. nova tries to resume the VM and fails since no bridge is present (libvirt error, can't get the bridge MTU).
Side question:
Why do both neutron and nova deal with the bridge ?
I can understand the need to remove empty bridges but I believe nova should be the one to do it if nova is dealing mainly with the bridge itself.
More information:
During the snapshot Neutron (linux bridge) is called:
(neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent)
treat_devices_removed is called and removes the tap interface and calls self.br_mgr.remove_empty_bridges
On resume:
nova/virt/libvirt/driver.py in the snapshot method fails at:
if CONF.libvirt.virt_type != 'lxc' and not live_snapshot:
if state == power_state.RUNNING:
new_dom = self._create_domain(domain=virt_dom)
Having more than one VM on the same bridge works fine since neutron
(the linux bridge agent) only removes an empty bridge.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1293540/+subscriptions
References