summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Wendlandt <dan@nicira.com>2011-08-04 12:36:11 -0700
committerDan Wendlandt <dan@nicira.com>2011-08-04 12:36:11 -0700
commitdfc9c9c2b5e92e599bdeae4c03d3761215a0deca (patch)
tree9ad5ecf28e714f80650f35e9ba76f7f025071c1f
parent857f4453efaca98ced3e07d55ee6f0188713e60e (diff)
modify _setup_network for flatDHCP as well
-rw-r--r--nova/network/linux_net.py12
-rw-r--r--nova/network/manager.py13
2 files changed, 15 insertions, 10 deletions
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index ce1f53ab9..7012cceeb 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -805,9 +805,6 @@ def _ip_bridge_cmd(action, params, device):
cmd.extend(['dev', device])
return cmd
-
-iptables_manager = IptablesManager()
-
# Similar to compute virt layers, the Linux network node
# code uses a flexible driver model to support different ways
# of creating ethernet interfaces and attaching them to the network.
@@ -840,10 +837,16 @@ class LinuxNetInterfaceDriver(object):
class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
def plug(self, network):
- ensure_vlan_bridge(network['vlan'],
+ if network.get('vlan', None) is not None:
+ ensure_vlan_bridge(network['vlan'],
network['bridge'],
network['bridge_interface'],
network)
+ else:
+ ensure_bridge(network['bridge'],
+ network['bridge_interface'],
+ network)
+
return network['bridge']
def unplug(self, network):
@@ -875,4 +878,5 @@ class LinuxOVSInterfaceDriver(LinuxNetInterfaceDriver):
dev = "gw-" + str(network['id'])
return dev
+iptables_manager = IptablesManager()
interface_driver = utils.import_object(FLAGS.linuxnet_interface_driver)
diff --git a/nova/network/manager.py b/nova/network/manager.py
index bedbe2c21..e7c84d478 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -785,14 +785,15 @@ class FlatDHCPManager(FloatingIP, RPCAllocateFixedIP, NetworkManager):
def _setup_network(self, context, network_ref):
"""Sets up network on this host."""
network_ref['dhcp_server'] = self._get_dhcp_ip(context, network_ref)
- self.driver.ensure_bridge(network_ref['bridge'],
- network_ref['bridge_interface'],
- network_ref)
+
+ dev = self.driver.plug(network_ref)
+ self.driver.initialize_gateway_device(dev, network_ref)
+
if not FLAGS.fake_network:
- self.driver.update_dhcp(context, network_ref)
+ self.driver.update_dhcp(context, dev, network_ref)
if(FLAGS.use_ipv6):
- self.driver.update_ra(context, network_ref)
- gateway = utils.get_my_linklocal(network_ref['bridge'])
+ self.driver.update_ra(context, dev, network_ref)
+ gateway = utils.get_my_linklocal(dev)
self.db.network_update(context, network_ref['id'],
{'gateway_v6': gateway})