yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #53258
[Bug 1391699] Re: libvirt vif plugging assumes device exists implies OVS port exists
This is an automated cleanup. This bug report has been closed because it
is older than 18 months and there is no open code change to fix this.
After this time it is unlikely that the circumstances which lead to
the observed issue can be reproduced.
If you can reproduce the bug, please:
* reopen the bug report (set to status "New")
* AND add the detailed steps to reproduce the issue (if applicable)
* AND leave a comment "CONFIRMED FOR: <RELEASE_NAME>"
Only still supported release names are valid (LIBERTY, MITAKA, OCATA, NEWTON).
Valid example: CONFIRMED FOR: LIBERTY
** Changed in: nova
Importance: Medium => Undecided
** Changed in: nova
Status: Confirmed => Expired
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1391699
Title:
libvirt vif plugging assumes device exists implies OVS port exists
Status in OpenStack Compute (nova):
Expired
Bug description:
Symptoms:
- a VM could not be started by nova after a nova-compute was restarted
Cause:
There appears to be a logic flaw in nova/virt/libvirt.py in _plug_bridge_with_port where the logic for creating an OVS port is guarded behind the logic for creating a linux device, but nova can be interrupted (either by a restart, or OVS being transiently inaccesiblefor some reason) between these two steps, leading to a stale, invalidly configured device with no OVS port, and Nova won't recover from this situation without administrative intervention.
# cat nova-compute.log
Traceback (most recent call last):
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 455, in fire_timers
timer()
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/eventlet/hubs/timer.py", line 58, in __call__
cb(*args, **kw)
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/eventlet/greenthread.py", line 212, in main
result = function(*args, **kwargs)
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/openstack/common/service.py", line 490, in run_service
service.start()
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/service.py", line 164, in start
self.manager.init_host()
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 1059, in init_host
self._init_instance(context, instance)
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 918, in _init_instance
self.driver.plug_vifs(instance, net_info)
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 820, in plug_vifs
self.vif_driver.plug(instance, vif)
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/vif.py", line 627, in plug
self.plug_ovs(instance, vif)
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/vif.py", line 492, in plug_ovs
self.plug_ovs_hybrid(instance, vif)
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/vif.py", line 488, in plug_ovs_hybrid
instance['uuid'])
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/network/linux_net.py", line 1320, in create_ovs_vif_port
'external-ids:vm-uuid=%s' % instance_id])
File "/opt/stack/venvs/nova/local/lib/python2.7/site-packages/nova/network/linux_net.py", line 1310, in _ovs_vsctl
raise exception.AgentError(method=full_args)
AgentError: Error during following call to agent: ['ovs-vsctl', '--timeout=120', '--', '--if-exists', 'del-port', u'qvo8670d393-d4', '--', 'add-port', u'br-int', u'qvo8670d393-d4', '--', 'set', 'Interface', u'qvo8670d393-d4', u'external-ids:iface-id=8670d393-d47e-41e1-b2b5-b94819266934', 'external-ids:iface-status=active', u'external-ids:attached-mac=fa:16:3e:b1:23:d1', 'external-ids:vm-uuid=26f03afc-e198-41d0-b7c4-77616f9bdfbe']
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1391699/+subscriptions
References