I brought up a devstack in order to test that patch: It will not work for my use case. Our application is sensitive to the order of the attached networks, and that code will order the interfaces by their UUIDs, not the order specified when booting the instance. For example with two pre-existing ports:
$ nova boot --flavor m1.nano \
--image cirros-0.3.4-x86_64-uec \
--nic port-id=cadf451c-d578-467c-a79f-dc6e245af1c5 \
--nic port-id=1d8d3a5b-be32-433b-b899-bb1d03b67e9a \
test
expected: eth0 is port cadf451c-d578-467c-a79f-dc6e245af1c5 and eth1 is 1d8d3a5b-be32-433b-b899-bb1d03b67e9a.
actual [with that patch], the ports are always sorted alphabetically, which often will be wrong.
I brought up a devstack in order to test that patch: It will not work for my use case. Our application is sensitive to the order of the attached networks, and that code will order the interfaces by their UUIDs, not the order specified when booting the instance. For example with two pre-existing ports:
$ nova boot --flavor m1.nano \ 0.3.4-x86_ 64-uec \ cadf451c- d578-467c- a79f-dc6e245af1 c5 \ 1d8d3a5b- be32-433b- b899-bb1d03b67e 9a \
--image cirros-
--nic port-id=
--nic port-id=
test
expected: eth0 is port cadf451c- d578-467c- a79f-dc6e245af1 c5 and eth1 is 1d8d3a5b- be32-433b- b899-bb1d03b67e 9a.
actual [with that patch], the ports are always sorted alphabetically, which often will be wrong.