looking at the upstream code when destroy is called in the libvirt driver https://github.com/openstack/nova/blob/stable/queens/nova/virt/libvirt/driver.py#L988-L992 it calls cleanup which calls _unplug_vifs https://github.com/openstack/nova/blob/stable/queens/nova/virt/libvirt/driver.py#L1018-L1019 which then loops over all the vifs and unplugs them via the dirver https://github.com/openstack/nova/blob/stable/queens/nova/virt/libvirt/driver.py#L838-L845 looking at the downstream code it is identical and i have confimed that the downstream code deletes the tap device created during plug as it does upstream. https://github.com/openstack/nova/blob/stable/queens/nova/virt/libvirt/vif.py#L908-L919 the privsep wrapped plug_contrail_vif and unplug_contrail_vif fucntions https://github.com/openstack/nova/blob/stable/queens/nova/privsep/libvirt.py#L225-L254 are also identical downsteam so based on the inspection of the code the behavior you describe cannot happen. can you provide the full nova compute logs and preferably the full sos report for this host. based on the inspection of the code i feel i should be marking this as invalid but i will review the logs if the full logs are provided.
when nova recived a delete request for and instance that has been spawned on the host but not yet updated in the db a UnexpectedDeletingTaskStateError exception will be raised when the compute manager tries to update the db state. when that happens we do not call self.driver.cleanup https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L2030-L2036 as a result we do not clean up the vif for the instance. this will need to be fixed upstream first and then we can backport the fix downstream to osp 13
I have this patch refreshed but I'm unable to reproduce. Would it be possible to provide a reproducer for me if I provided a scratch RPM to test with?
I've added the requested functional test upstream.
Hi guys, I'm wondering if this can be back-ported to RHOSP 10 as well ? Thanks
Hi, we're wondering if there is there is anyway to clean these ghost/stale interfaces manually? Thanks,
This has landed upstream. I have the backports proposed for stable branches upstream and downstream. Hoping to get this closed out this week.
This has landed and will be included in the next OSP13 z-stream, 13z12.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:2725