← Back to team overview

yahoo-eng-team team mailing list archive

[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