← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1390681] [NEW] Create vm then detach interface immediately leaves the port in BUILD status

 

Public bug reported:

You can reproduce the bug as below:

Create one vm and then detach the interface of this vm immediately.
But be notice that the bug is hard to reproduce because it depends on the indeed handling sequence.


In the sequences descripted bellow,the bug happens:

1, create one vm and the nova-compute notify neutron using the "port_create" api,and nova create one port for ovs.
2, neutron-server created the related detail information in the db.
3.1, ovs-agent aware the creation of the port by loop function and start to handle the "port_add" event. It gets the details of the port from neutron server correctly in the treat_devices_added_or_updated function, but the function "get_vif_port_by_id" has not been called.
4, detach the interface of the vm and the nova will delete the port of ovs
3.2 when "get_vif_port_by_id" is excuting, it find the vif not exists and skips.
5, then the port will be leave BUILD and will can not be operated by end-users forever.


You can make the reproduction of the bug easy by calling "time.sleep(5)" after the plugin_rpc.get_devices_details_list in  treat_devices_added_or_updated function,and when sleep is happening ,detach the interface from vm.

** Affects: neutron
     Importance: Undecided
     Assignee: maxiao@xxxxxxxxxxxxxxx (maxiao)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => maxiao@xxxxxxxxxxxxxxx (maxiao)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1390681

Title:
  Create vm then detach interface immediately leaves the port in BUILD
  status

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  You can reproduce the bug as below:

  Create one vm and then detach the interface of this vm immediately.
  But be notice that the bug is hard to reproduce because it depends on the indeed handling sequence.

  
  In the sequences descripted bellow,the bug happens:

  1, create one vm and the nova-compute notify neutron using the "port_create" api,and nova create one port for ovs.
  2, neutron-server created the related detail information in the db.
  3.1, ovs-agent aware the creation of the port by loop function and start to handle the "port_add" event. It gets the details of the port from neutron server correctly in the treat_devices_added_or_updated function, but the function "get_vif_port_by_id" has not been called.
  4, detach the interface of the vm and the nova will delete the port of ovs
  3.2 when "get_vif_port_by_id" is excuting, it find the vif not exists and skips.
  5, then the port will be leave BUILD and will can not be operated by end-users forever.

  
  You can make the reproduction of the bug easy by calling "time.sleep(5)" after the plugin_rpc.get_devices_details_list in  treat_devices_added_or_updated function,and when sleep is happening ,detach the interface from vm.

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


Follow ups

References