so, after thinking more of the problem, I just feel that the current codepath is making promises that it can't sustain. To be clear, NIC ordering on a VM can sometimes be undeterministic depending on the OS.
For that precise reason, a new feature recently merged in Newton about allowing NICs to be tagged : https://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/virt-device-role-tagging.html That way, you can query the metadata service in order to know which NIC is corresponding to which port/network you passed. See https://developer.openstack.org/api-ref/compute/?expanded=create- server-detail and lookup for the 'networks' parameter, you'll see mentioned a 'tag' attribute that is available since 2.32 API microversion. Closing the bug as WontFix since the community agreed on that direction. ** Changed in: nova Status: Confirmed => Won't Fix -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1696664 Title: Order of the interfaces is not honored when using virt and SR-IOV interfaces Status in OpenStack Compute (nova): Won't Fix Bug description: When launching an instance using the following: # nova boot --flavor m1.small --image <image id> --nic net-id=<net id> --nic port-id=<port id> vm1 Where the first interface is a non SR-IOV port and the second one is SR-IOV port the order is not preserved ,i.e. The first interface of the instance is the SR-IOV port. Version: openstack-nova-compute-15.0.3-3.el7ost.noarch To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1696664/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp