Hi,

I do have a situation where an instance was deleted while resizing, and there are vswitch ports remaining in use when they shouldn't be.

I suspect that it's related to bug 1392527. (https://bugs.launchpad.net/nova/+bug/1392527) That bug was involved a scenario where we trigger a resize or cold migration, and while it's in progress we delete the instance.

In the fix an audit was added to clean up the instance files, but I'm wondering if we forgot to clean up the networking.

From what I can tell, in stable/kilo with neutron when doing a resize we will only unplug the vifs on the source side when confirming the resize. The code path looks like:

compute.manager.ComputeManager.confirm_resize()
    compute.manager.ComputeManager._confirm_resize()
        virt.libvirt.driver.LibvirtDriver.confirm_migration()
            virt.libvirt.driver.LibvirtDriver._cleanup_resize()
                virt.libvirt.driver.LibvirtDriver.unplug_vifs()

I'm concerned that if we delete the instance before the vm_state hits RESIZED, then we will not ever confirm the resize on the host. (I think this could happen since the instance host is set to the destination in compute.manager.ComputeManager.resize_instance(), but the vm_state isn't set to RESIZED until compute.manager.ComputeManager._finish_resize().

Then the audit from bug 1392527 runs and cleans up the instance files left on the host, but we're left with the vswitch port still in use because nobody unplugged it.

Can anyone poke holes in the description above?

The above is all supposition, I haven't reproduced it or gone through it in enough detail to be certain that this is what's happening. That's the next step.

Chris

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to