I think we can robustify nova here by not calling plug_vifs unnecessarily for a driver which doesn't require it. The driver interface already has resume_state_on_host_boot(), which ironic doesn't implement. The requirement to plug vifs on host boot does seem very driver-specific, so having drivers which require it call plug_vifs() explicitly doesn't seem terrible. I suspect that other 'external' hypervisors probably also wouldn't bother, like PowerVM and VMware. It looks like we need to work out the interaction with the code to fixup interrupted migrations.
Adding an upstream tracker in order to be able to add comment in the instack-undercloud workaround that says "removed when lp1777606 is fixed instead of embedding bz id in there.
It was mistakenly updated the nova fix in the instack-undercloud BZ, as the fix was merged/backported and the build created, we are switching BZs.
*** Bug 1592466 has been marked as a duplicate of this bug. ***
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/RHEA-2018:2086