summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-08-18 18:03:58 -0700
committerVishvananda Ishaya <vishvananda@yahoo.com>2010-08-18 18:03:58 -0700
commit9ab034f8b0cb0946e1fdf44937cce58b53e7530b (patch)
tree0d087525ae6c2a39f9b1531d80984f3b979685b6
parentf7c556324d52095323ec18296c4064e5bb626c96 (diff)
last few test fixes
-rwxr-xr-xbin/nova-dhcpbridge14
-rw-r--r--nova/network/service.py9
-rw-r--r--nova/tests/fake_flags.py3
-rw-r--r--nova/tests/network_unittest.py48
4 files changed, 35 insertions, 39 deletions
diff --git a/bin/nova-dhcpbridge b/bin/nova-dhcpbridge
index bd8fd9785..b17a56e6e 100755
--- a/bin/nova-dhcpbridge
+++ b/bin/nova-dhcpbridge
@@ -44,7 +44,9 @@ def add_lease(_mac, ip, _hostname, _interface):
"""Set the IP that was assigned by the DHCP server."""
if FLAGS.fake_rabbit:
logging.debug("leasing_ip")
- print FLAGS.redis_db
+ from nova import models
+ print models.FixedIp.count()
+ print models.Network.count()
print FLAGS.sql_connection
service.VlanNetworkService().lease_ip(ip)
else:
@@ -81,7 +83,6 @@ def main():
utils.default_flagfile(flagfile)
argv = FLAGS(sys.argv)
interface = os.environ.get('DNSMASQ_INTERFACE', 'br0')
- sqlfile = os.environ.get('SQL_DB', '')
if int(os.environ.get('TESTING', '0')):
FLAGS.fake_rabbit = True
FLAGS.redis_db = 8
@@ -90,8 +91,13 @@ def main():
FLAGS.fake_network = True
FLAGS.auth_driver = 'nova.auth.ldapdriver.FakeLdapDriver'
FLAGS.num_networks = 5
- FLAGS.sql_connection = 'mysql://root@localhost/test'
- #FLAGS.sql_connection = 'sqlite:///%s' % sqlfile
+ path = os.path.abspath(os.path.join(os.path.dirname(__file__),
+ '..',
+ '_trial_temp',
+ 'nova.sqlite'))
+ print path
+ FLAGS.sql_connection = 'sqlite:///%s' % path
+ #FLAGS.sql_connection = 'mysql://root@localhost/test'
action = argv[1]
if action in ['add', 'del', 'old']:
mac = argv[2]
diff --git a/nova/network/service.py b/nova/network/service.py
index 45bcf58ad..16ecfbf3e 100644
--- a/nova/network/service.py
+++ b/nova/network/service.py
@@ -23,7 +23,6 @@ Network Hosts are responsible for allocating ips and setting up network
import logging
import IPy
-from sqlalchemy.orm import exc
from nova import exception
from nova import flags
@@ -72,6 +71,10 @@ _driver = linux_net
def type_to_class(network_type):
"""Convert a network_type string into an actual Python class"""
+ if not network_type:
+ logging.warn("Network type couldn't be determined, using %s" %
+ FLAGS.network_type)
+ network_type = FLAGS.network_type
if network_type == 'flat':
return FlatNetworkService
elif network_type == 'vlan':
@@ -286,10 +289,6 @@ class VlanNetworkService(BaseNetworkService):
logging.debug("Leasing IP %s", fixed_ip_str)
fixed_ip.leased = True
fixed_ip.save()
- print fixed_ip.allocated
- print fixed_ip.leased
- print fixed_ip.instance_id
- print 'ip %s leased' % fixed_ip_str
def release_ip(self, fixed_ip_str):
"""Called by bridge when ip is released"""
diff --git a/nova/tests/fake_flags.py b/nova/tests/fake_flags.py
index ecbc65937..7fc83babc 100644
--- a/nova/tests/fake_flags.py
+++ b/nova/tests/fake_flags.py
@@ -26,4 +26,5 @@ FLAGS.fake_rabbit = True
FLAGS.fake_network = True
FLAGS.auth_driver = 'nova.auth.ldapdriver.FakeLdapDriver'
FLAGS.verbose = True
-FLAGS.sql_connection = 'sqlite:///:memory:'
+FLAGS.sql_connection = 'sqlite:///nova.sqlite'
+#FLAGS.sql_connection = 'mysql://root@localhost/test'
diff --git a/nova/tests/network_unittest.py b/nova/tests/network_unittest.py
index c94c81f72..0f2ce060d 100644
--- a/nova/tests/network_unittest.py
+++ b/nova/tests/network_unittest.py
@@ -41,10 +41,7 @@ class NetworkTestCase(test.TrialTestCase):
super(NetworkTestCase, self).setUp()
# NOTE(vish): if you change these flags, make sure to change the
# flags in the corresponding section in nova-dhcpbridge
- self.sqlfile = 'test.sqlite'
self.flags(connection_type='fake',
- #sql_connection='sqlite:///%s' % self.sqlfile,
- sql_connection='mysql://root@localhost/test',
fake_storage=True,
fake_network=True,
auth_driver='nova.auth.ldapdriver.FakeLdapDriver',
@@ -54,7 +51,6 @@ class NetworkTestCase(test.TrialTestCase):
self.manager = manager.AuthManager()
self.user = self.manager.create_user('netuser', 'netuser', 'netuser')
self.projects = []
- print FLAGS.sql_connection
self.service = service.VlanNetworkService()
for i in range(5):
name = 'project%s' % i
@@ -105,17 +101,13 @@ class NetworkTestCase(test.TrialTestCase):
self.instance_id)
net = service.get_network_for_project(self.projects[0].id)
self.assertTrue(is_allocated_in_project(address, self.projects[0].id))
- print 'I just got allocated'
- issue_ip(address, net.bridge, self.sqlfile)
- obj = models.FixedIp.find_by_ip_str(address)
- obj.refresh()
- print obj.leased
+ issue_ip(address, net.bridge)
self.service.deallocate_fixed_ip(address)
# Doesn't go away until it's dhcp released
self.assertTrue(is_allocated_in_project(address, self.projects[0].id))
- release_ip(address, net.bridge, self.sqlfile)
+ release_ip(address, net.bridge)
self.assertFalse(is_allocated_in_project(address, self.projects[0].id))
def test_side_effects(self):
@@ -133,19 +125,19 @@ class NetworkTestCase(test.TrialTestCase):
self.assertFalse(is_allocated_in_project(address, self.projects[1].id))
# Addresses are allocated before they're issued
- issue_ip(address, net.bridge, self.sqlfile)
- issue_ip(address2, net2.bridge, self.sqlfile)
+ issue_ip(address, net.bridge)
+ issue_ip(address2, net2.bridge)
self.service.deallocate_fixed_ip(address)
- release_ip(address, net.bridge, self.sqlfile)
+ release_ip(address, net.bridge)
self.assertFalse(is_allocated_in_project(address, self.projects[0].id))
# First address release shouldn't affect the second
self.assertTrue(is_allocated_in_project(address2, self.projects[1].id))
self.service.deallocate_fixed_ip(address2)
- issue_ip(address2, net.bridge, self.sqlfile)
- release_ip(address2, net2.bridge, self.sqlfile)
+ issue_ip(address2, net.bridge)
+ release_ip(address2, net2.bridge)
self.assertFalse(is_allocated_in_project(address2, self.projects[1].id))
def test_subnet_edge(self):
@@ -158,9 +150,9 @@ class NetworkTestCase(test.TrialTestCase):
address2 = self.service.allocate_fixed_ip(project_id, self.instance_id)
address3 = self.service.allocate_fixed_ip(project_id, self.instance_id)
net = service.get_network_for_project(project_id)
- issue_ip(address, net.bridge, self.sqlfile)
- issue_ip(address2, net.bridge, self.sqlfile)
- issue_ip(address3, net.bridge, self.sqlfile)
+ issue_ip(address, net.bridge)
+ issue_ip(address2, net.bridge)
+ issue_ip(address3, net.bridge)
self.assertFalse(is_allocated_in_project(address,
self.projects[0].id))
self.assertFalse(is_allocated_in_project(address2,
@@ -170,9 +162,9 @@ class NetworkTestCase(test.TrialTestCase):
self.service.deallocate_fixed_ip(address)
self.service.deallocate_fixed_ip(address2)
self.service.deallocate_fixed_ip(address3)
- release_ip(address, net.bridge, self.sqlfile)
- release_ip(address2, net.bridge, self.sqlfile)
- release_ip(address3, net.bridge, self.sqlfile)
+ release_ip(address, net.bridge)
+ release_ip(address2, net.bridge)
+ release_ip(address3, net.bridge)
net = service.get_network_for_project(self.projects[0].id)
self.service.deallocate_fixed_ip(first)
@@ -205,9 +197,9 @@ class NetworkTestCase(test.TrialTestCase):
address = self.service.allocate_fixed_ip(self.projects[0].id,
self.instance_id)
net = service.get_network_for_project(self.projects[0].id)
- issue_ip(address, net.bridge, self.sqlfile)
+ issue_ip(address, net.bridge)
self.service.deallocate_fixed_ip(address)
- release_ip(address, net.bridge, self.sqlfile)
+ release_ip(address, net.bridge)
address2 = self.service.allocate_fixed_ip(self.projects[0].id,
self.instance_id)
@@ -245,7 +237,7 @@ class NetworkTestCase(test.TrialTestCase):
project_id = self.projects[0].id
addresses.append(self.service.allocate_fixed_ip(project_id,
self.instance_id))
- issue_ip(addresses[i],network.bridge, self.sqlfile)
+ issue_ip(addresses[i],network.bridge)
self.assertEqual(available_ips(network), 0)
self.assertRaises(NoMoreAddresses,
@@ -255,7 +247,7 @@ class NetworkTestCase(test.TrialTestCase):
for i in range(len(addresses)):
self.service.deallocate_fixed_ip(addresses[i])
- release_ip(addresses[i],network.bridge, self.sqlfile)
+ release_ip(addresses[i],network.bridge)
self.assertEqual(available_ips(network), num_available_ips)
@@ -291,22 +283,20 @@ def binpath(script):
return os.path.abspath(os.path.join(__file__, "../../../bin", script))
-def issue_ip(private_ip, interface, sqlfile):
+def issue_ip(private_ip, interface):
"""Run add command on dhcpbridge"""
cmd = "%s add fake %s fake" % (binpath('nova-dhcpbridge'), private_ip)
env = {'DNSMASQ_INTERFACE': interface,
'TESTING': '1',
- 'SQL_DB': sqlfile,
'FLAGFILE': FLAGS.dhcpbridge_flagfile}
(out, err) = utils.execute(cmd, addl_env=env)
logging.debug("ISSUE_IP: %s, %s ", out, err)
-def release_ip(private_ip, interface, sqlfile):
+def release_ip(private_ip, interface):
"""Run del command on dhcpbridge"""
cmd = "%s del fake %s fake" % (binpath('nova-dhcpbridge'), private_ip)
env = {'DNSMASQ_INTERFACE': interface,
- 'SQL_DB': sqlfile,
'TESTING': '1',
'FLAGFILE': FLAGS.dhcpbridge_flagfile}
(out, err) = utils.execute(cmd, addl_env=env)