summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-09-07 12:37:18 -0700
committerVishvananda Ishaya <vishvananda@yahoo.com>2010-09-07 12:37:18 -0700
commit8521e83fe485c0354af6c697dbdadd9eee4d8b1c (patch)
treebcff0df8235d35bbd91e47848b9d8e481bd741f1
parent0e400788cedc592e40750f6fc7291970f243a218 (diff)
fix floating_ip to follow standard create pattern
-rw-r--r--nova/db/api.py6
-rw-r--r--nova/db/sqlalchemy/api.py8
-rw-r--r--nova/tests/network_unittest.py7
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)