There are a few things we need to do to make that work:
* Always set the PCIRequest's requester_id. Previously, this was only
done for resource requests. The requester_id is the port UUID, so we
can use that to correlate which port to update with which pci_slot
(in the case of multiple SRIOV ports per instance).
This has the side effect of making the fix work only for instances
created *after* this patch has been applied. It's not ideal, but
there does not appear to be a better way.
* Call setup_networks_on_host() within the instance_claim context.
This means the instance's pci_devices are updated when we call it,
allowing us to get the pci_slot information from them.
With the two previous changes in place, we can figure out the port's
new pci_slot in _update_port_binding_for_instance().
Closes: bug 1851545
Change-Id: Icfa8c1d6e84eab758af6223a2870078685584aaa