evacuate code path is not updating binding:host_id in neutron

Bug #1444171 reported by Chris Friesen
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
In Progress
Medium
Chris Friesen

Bug Description

Currently when using neutron we don't update the binding:host_id during the evacuate code path.

This can cause the evacuation to fail if we go to sleep waiting for events in virt.libvirt.driver.LibvirtDriver._create_domain_and_network(). Since the binding:host_id in neutron is still pointing to the old host, neutron will never send us any events and we will eventually time out.

I was able to get the evacuation to update the binding by modifying compute.manager.ComputeManager.rebuild_instance() to add a call to self.network_api.setup_instance_network_on_host() right below the existing call to self.network_api.setup_networks_on_host().

I'm suspicious that this might break nova-network though. It's a bit confusing, currently the networking API has three routines that seem to overlap:

setup_networks_on_host() -- this actually does setup or teardown for nova-network, and is empty for neutron

setup_instance_network_on_host() -- this maps to self._update_port_binding_for_instance() for neutron. For nova-network it maps to self.migrate_instance_finish() which is provided by FloatingIP for FlatDHCPManager and VlanManager.

cleanup_instance_network_on_host() -- this is empty for neutron. For nova-network it maps to self.migrate_instance_start which is provided by FloatingIP for FlatDHCPManager and VlanManager.

Chris Friesen (cbf123)
description: updated
Chris Friesen (cbf123)
description: updated
Revision history for this message
Matt Riedemann (mriedem) wrote :

I think alex_xu added some of the migration-related network APIs in kilo so he might know more about intended usage.

Changed in nova:
status: New → Triaged
importance: Undecided → Medium
tags: added: neutron
tags: added: evacuate
Chris Friesen (cbf123)
Changed in nova:
assignee: nobody → Chris Friesen (cbf123)
Matt Riedemann (mriedem)
tags: added: kilo-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/173615

Changed in nova:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Chris Friesen (<email address hidden>) on branch: master
Review: https://review.openstack.org/173615
Reason: this has been superceded by of https://review.openstack.org/#/c/169827/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.