openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #18482
Re: how to decide orders of multiple nic
The api doesn't support any way to order these, so they are being returned in db order. In essex we retrieved each network individually, but now they are retrieved together. I believe the following will fix your issue:
diff --git a/nova/network/manager.py b/nova/network/manager.py
index d032fe1..4866803 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -1797,8 +1797,10 @@ class NetworkManager(manager.SchedulerDependentManager):
project_only="allow_none")
def _get_networks_by_uuids(self, context, network_uuids):
- return self.db.network_get_all_by_uuids(context, network_uuids,
- project_only="allow_none")
+ networks = self.db.network_get_all_by_uuids(context, network_uuids,
+ project_only="allow_none")
+ networks.sort(key=lambda x: network_uuids.index(x['uuid']))
+ return networks
@wrap_check_policy
def get_vifs_by_instance(self, context, instance_id):
@@ -2114,8 +2116,10 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager):
# NOTE(vish): Don't allow access to networks with project_id=None as
# these are networksa that haven't been allocated to a
# project yet.
- return self.db.network_get_all_by_uuids(context, network_uuids,
- project_only=True)
+ networks = self.db.network_get_all_by_uuids(context, network_uuids,
+ project_only=True)
+ networks.sort(key=lambda x: network_uuids.index(x['uuid']))
+ return networks
def _get_networks_for_instance(self, context, instance_id, project_id,
requested_networks=None):
If you could verify that it helps and report a bug, I would be happy to propose it into essex and backport it.
Vish
On Nov 9, 2012, at 11:57 AM, Yi Sun <beyounn@xxxxxxxxx> wrote:
> I have two nic cards, I want eth0 to always be connected to network1
> and eth1 to always be connected to network2.
> In the essex, I can do this by arrange the order of --nic options in
> the "nova boot" command. But in the folsom,it does not seem to work
> anymore, the following commands connect eth0 to the same network
> nova --no-cache boot --image db64c7ed-3496-499e-a097-73362cb5f447
> --flavor 2 --nic net-id=ff899ad7-a0c2-4e46-a0a4-bf086eda9164 --nic
> net-id=12e964db-14e3-4e85-98c8-45987c89e1d1 user-host-2
> nova --no-cache boot --image db64c7ed-3496-499e-a097-73362cb5f447
> --flavor 2 --nic net-id=12e964db-14e3-4e85-98c8-45987c89e1d1 --nic
> net-id=ff899ad7-a0c2-4e46-a0a4-bf086eda9164 user-host-2
>
> Could someone tell me how to solve this problem?
> Thanks
> Yi
> --
> Android-x86
> http://www.android-x86.org
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
Follow ups
References