yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #32833
[Bug 1328546] Re: Race condition when hard rebooting instance
The race condition still exists.
Neutron happens to delete the bridge [1] between plug_vifs
(ensure_bridge) [2] and _create_domain [3] if your instance is the only
one using the bridge.
I locally fix it by disabling remove_empty_bridges and using a cron to
delete empty bridges instead.
[1] https://github.com/openstack/neutron/blob/6cf92011143eb55adda180ffac91886566fc7826/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py#L926
[2] https://github.com/openstack/nova/blob/f9e664f1b6521dd7d5c02cd803e376e8abdf9c30/nova/virt/libvirt/driver.py#L4383
[3] https://github.com/openstack/nova/blob/f9e664f1b6521dd7d5c02cd803e376e8abdf9c30/nova/virt/libvirt/driver.py#L4390
** Changed in: neutron
Status: Invalid => New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1328546
Title:
Race condition when hard rebooting instance
Status in OpenStack Neutron (virtual network service):
New
Bug description:
Condition for this to happen:
======================
1. Agent: neutron-linuxbridge-agent.
2. Only 1 instance is running on the hypervisor that belong to this network.
3. Timing, it's a race condition after all ;-)
Remarked behavior:
================
After hard reboot instance end up in ERROR state and the nova-compute
log an error saying that:
Cannot get interface MTU on 'brqf9d0e8cf-bd': No such device
What happen:
===========
When nova do a hard reboot, the instance is first destroyed, which
imply that the tap device is deleted from the linux bridge (which
result to an empty bridge b/c of 2 condition above), than re-created
afterward, but in between neutron-linuxbridge-agent may clean up this
empty bridge as part of his remove_empty_bridges()[1], but for this
error to happen neutron-linuxbridge-agent should do that after
plug_vifs()[2] and before domain.createWithFlags() finish.
[1]: https://github.com/openstack/neutron/blob/stable/icehouse/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py#L449.
[2]: https://github.com/openstack/nova/blob/stable/icehouse/nova/virt/libvirt/driver.py#L3648-3656
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1328546/+subscriptions
References