summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeisuke Tagami <tagami.keisuke@lab.ntt.co.jp>2011-09-05 21:13:00 +0900
committerKeisuke Tagami <tagami.keisuke@lab.ntt.co.jp>2011-09-05 21:13:00 +0900
commit418923c385a34265dd33a0c2ada3aa97a5749a06 (patch)
treee5b713e5b8556bfc1e7326e719977d36fbc4ebce
parentd6f1a31d56de84398246498d0f2676d9741cdccf (diff)
downloadnova-418923c385a34265dd33a0c2ada3aa97a5749a06.tar.gz
nova-418923c385a34265dd33a0c2ada3aa97a5749a06.tar.xz
nova-418923c385a34265dd33a0c2ada3aa97a5749a06.zip
format for pep8
-rwxr-xr-xnova/db/api.py4
-rwxr-xr-xnova/db/sqlalchemy/api.py5
-rwxr-xr-xnova/network/linux_net.py6
-rwxr-xr-xnova/tests/test_linux_net.py177
4 files changed, 141 insertions, 51 deletions
diff --git a/nova/db/api.py b/nova/db/api.py
index 85e9c7669..faac13966 100755
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -535,8 +535,8 @@ def instance_get_all_by_reservation(context, reservation_id):
def instance_get_all_by_network(context, network_id):
"""Get all instances belonging to a network."""
return IMPL.instance_get_all_by_network(context, network_id)
-
-
+
+
def instance_get_by_fixed_ip(context, address):
"""Get an instance for a fixed ip by address."""
return IMPL.instance_get_by_fixed_ip(context, address)
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index aee1c2a55..3194a5231 100755
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -1415,8 +1415,8 @@ def instance_get_all_by_reservation(context, reservation_id):
filter_by(project_id=context.project_id).\
filter_by(deleted=False).\
all()
-
-@require_admin_context
+
+
def instance_get_all_by_network(context, network_id):
session = get_session()
return session.query(models.Instance).\
@@ -1431,7 +1431,6 @@ def instance_get_all_by_network(context, network_id):
all()
-
@require_context
def instance_get_by_fixed_ip(context, address):
"""Return instance ref by exact match of FixedIP"""
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 50d9ccf19..4ebc3df23 100755
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -438,7 +438,7 @@ def ensure_vpn_forward(public_ip, port, private_ip):
def ensure_floating_forward(floating_ip, fixed_ip):
"""Ensure floating ip forwarding rule."""
- for chain, rule in floating_forward_rules(floating_ip, fixed_ip):
+ for chain, rule in floating_forward_rules(floaing_ip, fixed_ip):
iptables_manager.ipv4['nat'].add_rule(chain, rule)
iptables_manager.apply()
@@ -518,7 +518,7 @@ def get_dhcp_opts(context, network_ref):
default_gateway_network_node = dict()
network_id = network_ref['id']
instance_refs = db.instance_get_all_by_network(context, network_id)
- ips_ref = db.network_get_associated_fixed_ips(context, network_id)
+ ips_ref = db.network_get_associated_fixed_ips(context, network_id)
for instance_ref in instance_refs:
instance_id = instance_ref['id']
@@ -533,7 +533,7 @@ def get_dhcp_opts(context, network_ref):
for fixed_ip_ref in ips_ref:
instance_id = fixed_ip_ref['instance_id']
- if default_gateway_network_node.has_key(instance_id):
+ if instance_id in default_gateway_network_node:
target_network_id = default_gateway_network_node[instance_id]
if target_network_id == fixed_ip_ref['network_id']:
hosts.append(_host_dhcp_opts(fixed_ip_ref, gw=True))
diff --git a/nova/tests/test_linux_net.py b/nova/tests/test_linux_net.py
index 3c3cdd0d9..94c53817b 100755
--- a/nova/tests/test_linux_net.py
+++ b/nova/tests/test_linux_net.py
@@ -41,10 +41,10 @@ instances = [{'id': 0,
'hostname': 'fake_instance01'}]
-addresses = [{"address" : "10.0.0.1" },
- {"address" : "10.0.0.2" },
- {"address" : "10.0.0.3" },
- {"address" : "10.0.0.4" }]
+addresses = [{"address": "10.0.0.1"},
+ {"address": "10.0.0.2"},
+ {"address": "10.0.0.3"},
+ {"address": "10.0.0.4"}]
networks = [{'id': 0,
@@ -63,8 +63,8 @@ networks = [{'id': 0,
'broadcast': '192.168.0.255',
'dns1': '192.168.0.1',
'dns2': '192.168.0.2',
- 'dhcp_server' : '0.0.0.0',
- 'dhcp_start' : '192.168.100.1',
+ 'dhcp_server': '0.0.0.0',
+ 'dhcp_start': '192.168.100.1',
'vlan': None,
'host': None,
'project_id': 'fake_project',
@@ -85,8 +85,8 @@ networks = [{'id': 0,
'broadcast': '192.168.1.255',
'dns1': '192.168.0.1',
'dns2': '192.168.0.2',
- 'dhcp_server' : '0.0.0.0',
- 'dhcp_start' : '192.168.100.1',
+ 'dhcp_server': '0.0.0.0',
+ 'dhcp_start': '192.168.100.1',
'vlan': None,
'host': None,
'project_id': 'fake_project',
@@ -99,7 +99,7 @@ fixed_ips = [{'id': 0,
'instance_id': 0,
'allocated': True,
'virtual_interface_id': 0,
- 'virtual_interface' : addresses[0],
+ 'virtual_interface': addresses[0],
'instance': instances[0],
'floating_ips': []},
{'id': 1,
@@ -108,7 +108,7 @@ fixed_ips = [{'id': 0,
'instance_id': 0,
'allocated': True,
'virtual_interface_id': 1,
- 'virtual_interface' : addresses[1],
+ 'virtual_interface': addresses[1],
'instance': instances[0],
'floating_ips': []},
{'id': 2,
@@ -117,7 +117,7 @@ fixed_ips = [{'id': 0,
'instance_id': 1,
'allocated': True,
'virtual_interface_id': 2,
- 'virtual_interface' : addresses[2],
+ 'virtual_interface': addresses[2],
'instance': instances[1],
'floating_ips': []},
{'id': 3,
@@ -126,13 +126,11 @@ fixed_ips = [{'id': 0,
'instance_id': 1,
'allocated': True,
'virtual_interface_id': 3,
- 'virtual_interface' : addresses[3],
+ 'virtual_interface': addresses[3],
'instance': instances[1],
'floating_ips': []}]
-
-
vifs = [{'id': 0,
'address': 'DE:AD:BE:EF:00:00',
'uuid': '00000000-0000-0000-0000-0000000000000000',
@@ -167,66 +165,159 @@ class LinuxNetworkTestCase(test.TestCase):
self.driver = utils.import_object(network_driver)
self.driver.db = db
- def test_update_dhcp(self):
+ def test_update_dhcp_for_nw00(self):
self.mox.StubOutWithMock(db, 'network_get_associated_fixed_ips')
self.mox.StubOutWithMock(db, 'instance_get_all_by_network')
self.mox.StubOutWithMock(db, 'virtual_interface_get_by_instance')
- fixed_ips[1]['instance'] = instances[0]
db.network_get_associated_fixed_ips(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn(fixed_ips)
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[0],
+ fixed_ips[3]])
db.instance_get_all_by_network(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn(instances)
+ mox.IgnoreArg())\
+ .AndReturn(instances)
db.network_get_associated_fixed_ips(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn(fixed_ips)
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[0],
+ fixed_ips[3]])
db.virtual_interface_get_by_instance(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn([vifs[0],vifs[1]])
+ mox.IgnoreArg())\
+ .AndReturn([vifs[0], vifs[1]])
db.virtual_interface_get_by_instance(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn([vifs[2],vifs[3]])
-
+ mox.IgnoreArg())\
+ .AndReturn([vifs[2], vifs[3]])
self.mox.ReplayAll()
+
self.driver.update_dhcp(None, "eth0", networks[0])
+ def test_update_dhcp_for_nw01(self):
+ self.mox.StubOutWithMock(db, 'network_get_associated_fixed_ips')
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_network')
+ self.mox.StubOutWithMock(db, 'virtual_interface_get_by_instance')
+
+ db.network_get_associated_fixed_ips(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[1],
+ fixed_ips[2]])
- def test_get_dhcp_hosts(self):
+ db.instance_get_all_by_network(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn(instances)
+ db.network_get_associated_fixed_ips(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[1],
+ fixed_ips[2]])
+ db.virtual_interface_get_by_instance(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([vifs[0], vifs[1]])
+ db.virtual_interface_get_by_instance(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([vifs[2], vifs[3]])
+ self.mox.ReplayAll()
+
+ self.driver.update_dhcp(None, "eth0", networks[0])
+
+ def test_get_dhcp_hosts_for_nw00(self):
self.mox.StubOutWithMock(db, 'network_get_associated_fixed_ips')
- fixed_ips[1]['instance'] = instances[0]
db.network_get_associated_fixed_ips(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn(fixed_ips)
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[0],
+ fixed_ips[3]])
+ self.mox.ReplayAll()
+
+ expected = \
+ "10.0.0.1,fake_instance00.novalocal,"\
+ "192.168.0.100,net:NW-i00000000-0\n"\
+ "10.0.0.4,fake_instance01.novalocal,"\
+ "192.168.1.101,net:NW-i00000001-1"
+ actual_hosts = self.driver.get_dhcp_hosts(None, networks[1])
+ self.assertEquals(actual_hosts, expected)
+
+ def test_get_dhcp_hosts_for_nw01(self):
+ self.mox.StubOutWithMock(db, 'network_get_associated_fixed_ips')
+
+ db.network_get_associated_fixed_ips(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[1],
+ fixed_ips[2]])
self.mox.ReplayAll()
- hosts = self.driver.get_dhcp_hosts(None, networks[0])
-
- self.assertEquals(hosts,
- "10.0.0.1,fake_instance00.novalocal,192.168.0.100,net:NW-i00000000-0\n" \
- "10.0.0.2,fake_instance00.novalocal,192.168.1.100,net:NW-i00000000-1\n" \
- "10.0.0.3,fake_instance01.novalocal,192.168.0.101,net:NW-i00000001-0\n" \
- "10.0.0.4,fake_instance01.novalocal,192.168.1.101,net:NW-i00000001-1")
+ expected = \
+ "10.0.0.2,fake_instance00.novalocal,"\
+ "192.168.1.100,net:NW-i00000000-1\n"\
+ "10.0.0.3,fake_instance01.novalocal,"\
+ "192.168.0.101,net:NW-i00000001-0"
+ actual_hosts = self.driver.get_dhcp_hosts(None, networks[0])
+
+ self.assertEquals(actual_hosts, expected)
-
- def test_get_dhcp_opts(self):
+ def test_get_dhcp_opts_for_nw00(self):
self.mox.StubOutWithMock(db, 'network_get_associated_fixed_ips')
self.mox.StubOutWithMock(db, 'instance_get_all_by_network')
self.mox.StubOutWithMock(db, 'virtual_interface_get_by_instance')
- fixed_ips[1]['instance'] = instances[0]
-
db.instance_get_all_by_network(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn(instances)
+ mox.IgnoreArg())\
+ .AndReturn(instances)
db.network_get_associated_fixed_ips(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn(fixed_ips)
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[0],
+ fixed_ips[3]])
db.virtual_interface_get_by_instance(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn([vifs[0],vifs[1]])
+ mox.IgnoreArg())\
+ .AndReturn([vifs[0],
+ vifs[1]])
db.virtual_interface_get_by_instance(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn([vifs[2],vifs[3]])
+ mox.IgnoreArg())\
+ .AndReturn([vifs[2],
+ vifs[3]])
+ self.mox.ReplayAll()
+
+ expected_opts = '\n'\
+ ''
+ actual_opts = self.driver.get_dhcp_opts(None, networks[0])
+ self.assertEquals(actual_opts, expected_opts)
+
+ def test_get_dhcp_opts_for_nw01(self):
+ self.mox.StubOutWithMock(db, 'network_get_associated_fixed_ips')
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_network')
+ self.mox.StubOutWithMock(db, 'virtual_interface_get_by_instance')
+
+ db.instance_get_all_by_network(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn(instances)
+ db.network_get_associated_fixed_ips(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([fixed_ips[1],
+ fixed_ips[2]])
+ db.virtual_interface_get_by_instance(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([vifs[0],
+ vifs[1]])
+ db.virtual_interface_get_by_instance(mox.IgnoreArg(),
+ mox.IgnoreArg())\
+ .AndReturn([vifs[2],
+ vifs[3]])
self.mox.ReplayAll()
- opts = self.driver.get_dhcp_opts(None, networks[0])
- self.assertEquals(opts, '\nNW-i00000000-1,3\nNW-i00000001-0,3\n')
+ expected_opts = 'NW-i00000000-1,3\n'\
+ 'NW-i00000001-0,3'
+ actual_opts = self.driver.get_dhcp_opts(None, networks[1])
+
+ self.assertEquals(actual_opts, expected_opts)
+
+ def test_dhcp_opts_default_gateway_network(self):
+ expected = ""
+ actual = self.driver._host_dhcp_opts(fixed_ips[0], True)
+ self.assertEquals(actual, expected)
-
+ def test_dhcp_opts_not_default_gateway_network(self):
+ expected = "NW-i00000000-0,3"
+ actual = self.driver._host_dhcp_opts(fixed_ips[0], False)
+ self.assertEquals(actual, expected)