← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1515768] [NEW] Instance creation fails with libvirtError: Unable to create tap device: Device or resource busy

 

Public bug reported:

Summary:
This issue is observed intermittently on Jenkins gate and sometimes in local setup for Tacker project. The error has been observed for create VNF request workflow.

Steps:
The create VNF request internally uses a heat HOT template to create a nova instance using the below HOT template:
http://paste.openstack.org/show/478592/

Actual behavior:
>From the n-cpu.log it is observed that there are duplicate bridges create in the qemu xml file for the 3 network interfaces.
http://logs.openstack.org/00/219000/9/experimental/gate-tacker-dsvm-functional/ec3b2c8/logs/screen-n-cpu.txt.gz?level=ERROR

Observation:
The 1st network interface for the nova instance is a Neutron Port resource provided in HOT template.
Nova sends a PUT request to update the port information. It also sends 2 POST requests for the 2nd and 3rd network interfaces.
Neutron receives the PUT request and sends network-event changed event while nova is still waiting for the POST response for the 2 ports. 
http://logs.openstack.org/00/219000/9/experimental/gate-tacker-dsvm-functional/ec3b2c8/logs/screen-q-svc.txt.gz#_2015-09-29_06_42_46_545
If the network-changed event is received before the 3rd port POST response is received, refresh_cache is acquired by nova_service at:
http://logs.openstack.org/00/219000/9/experimental/gate-tacker-dsvm-functional/ec3b2c8/logs/screen-n-cpu.txt.gz#_2015-09-29_06_42_46_760
Nova sends a query for port information, updates the cache and release the lock.
By then, POST requests are completed which acquires the cache lock again and sends request for network info. refresh_cache is updated twice and contains duplicate set of ports
Network vifs are built for all 6 ports and qemu xml is build based on that.
Duplicate bridges in xml is complained by libvirt as device or resource busy.


Version and environment:
Devstack Master

** Affects: neutron
     Importance: Undecided
         Status: New

** Affects: nova
     Importance: Undecided
         Status: New

** Affects: tacker
     Importance: Undecided
         Status: New

** Also affects: tacker
   Importance: Undecided
       Status: New

** Also affects: nova
   Importance: Undecided
       Status: 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/1515768

Title:
  Instance creation fails with libvirtError: Unable to create tap
  device: Device or resource busy

Status in neutron:
  New
Status in OpenStack Compute (nova):
  New
Status in tacker:
  New

Bug description:
  Summary:
  This issue is observed intermittently on Jenkins gate and sometimes in local setup for Tacker project. The error has been observed for create VNF request workflow.

  Steps:
  The create VNF request internally uses a heat HOT template to create a nova instance using the below HOT template:
  http://paste.openstack.org/show/478592/

  Actual behavior:
  From the n-cpu.log it is observed that there are duplicate bridges create in the qemu xml file for the 3 network interfaces.
  http://logs.openstack.org/00/219000/9/experimental/gate-tacker-dsvm-functional/ec3b2c8/logs/screen-n-cpu.txt.gz?level=ERROR

  Observation:
  The 1st network interface for the nova instance is a Neutron Port resource provided in HOT template.
  Nova sends a PUT request to update the port information. It also sends 2 POST requests for the 2nd and 3rd network interfaces.
  Neutron receives the PUT request and sends network-event changed event while nova is still waiting for the POST response for the 2 ports. 
  http://logs.openstack.org/00/219000/9/experimental/gate-tacker-dsvm-functional/ec3b2c8/logs/screen-q-svc.txt.gz#_2015-09-29_06_42_46_545
  If the network-changed event is received before the 3rd port POST response is received, refresh_cache is acquired by nova_service at:
  http://logs.openstack.org/00/219000/9/experimental/gate-tacker-dsvm-functional/ec3b2c8/logs/screen-n-cpu.txt.gz#_2015-09-29_06_42_46_760
  Nova sends a query for port information, updates the cache and release the lock.
  By then, POST requests are completed which acquires the cache lock again and sends request for network info. refresh_cache is updated twice and contains duplicate set of ports
  Network vifs are built for all 6 ports and qemu xml is build based on that.
  Duplicate bridges in xml is complained by libvirt as device or resource busy.

  
  Version and environment:
  Devstack Master

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1515768/+subscriptions


Follow ups