From 8521e83fe485c0354af6c697dbdadd9eee4d8b1c Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 7 Sep 2010 12:37:18 -0700 Subject: fix floating_ip to follow standard create pattern --- nova/db/api.py | 6 +++--- nova/db/sqlalchemy/api.py | 8 ++++---- nova/tests/network_unittest.py | 7 ++++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/nova/db/api.py b/nova/db/api.py index b49707392..0f9d58f42 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -87,9 +87,9 @@ def floating_ip_allocate_address(context, host, project_id): return IMPL.floating_ip_allocate_address(context, host, project_id) -def floating_ip_create(context, address, host): - """Create a floating ip for a given address on the specified host.""" - return IMPL.floating_ip_create(context, address, host) +def floating_ip_create(context, values): + """Create a floating ip from the values dictionary.""" + return IMPL.floating_ip_create(context, values) def floating_ip_disassociate(context, address): diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 5172b87b3..bc7a4e1ce 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -79,12 +79,12 @@ def floating_ip_allocate_address(_context, host, project_id): return floating_ip_ref['address'] -def floating_ip_create(_context, address, host): +def floating_ip_create(_context, values): floating_ip_ref = models.FloatingIp() - floating_ip_ref['address'] = address - floating_ip_ref['host'] = host + for (key, value) in values.iteritems(): + floating_ip_ref[key] = value floating_ip_ref.save() - return floating_ip_ref + return floating_ip_ref['address'] def floating_ip_fixed_ip_associate(_context, floating_address, fixed_address): diff --git a/nova/tests/network_unittest.py b/nova/tests/network_unittest.py index f3124c1ba..8e462b9d3 100644 --- a/nova/tests/network_unittest.py +++ b/nova/tests/network_unittest.py @@ -87,11 +87,12 @@ class NetworkTestCase(test.TrialTestCase): """Makes sure that we can allocaate a public ip""" # TODO(vish): better way of adding floating ips pubnet = IPy.IP(flags.FLAGS.public_range) - ip_str = str(pubnet[0]) + address = str(pubnet[0]) try: - db.floating_ip_get_by_address(None, ip_str) + db.floating_ip_get_by_address(None, address) except exception.NotFound: - db.floating_ip_create(None, ip_str, FLAGS.host) + db.floating_ip_create(None, {'address': address, + 'host': FLAGS.host}) float_addr = self.network.allocate_floating_ip(self.context, self.projects[0].id) fix_addr = self._create_address(0) -- cgit