summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Meade <alex.meade@rackspace.com>2011-08-23 00:44:47 +0000
committerTarmac <>2011-08-23 00:44:47 +0000
commit4e987a070ad3d50d2b47a894029f981168bacd1f (patch)
tree7b620debeffb6c9e20d2ddb5051620df821beda6
parent2444acdff40c6c44fc0f3d013b6a893f3a0b5c1d (diff)
parent0a9a6db83aca1f84b6e7943edd492e9fbc066063 (diff)
Fixes bug 831627 where nova-manage does not exit when given a non-existent network address
-rwxr-xr-xbin/nova-manage2
-rw-r--r--nova/tests/test_nova_manage.py10
2 files changed, 12 insertions, 0 deletions
diff --git a/bin/nova-manage b/bin/nova-manage
index 8e6419c0b..3d9a40afb 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -611,6 +611,8 @@ class FixedIpCommands(object):
try:
fixed_ip = db.fixed_ip_get_by_address(ctxt, address)
+ if fixed_ip is None:
+ raise exception.NotFound('Could not find address')
db.fixed_ip_update(ctxt, fixed_ip['address'],
{'reserved': reserved})
except exception.NotFound as ex:
diff --git a/nova/tests/test_nova_manage.py b/nova/tests/test_nova_manage.py
index 3a6e48dec..f5ea68a03 100644
--- a/nova/tests/test_nova_manage.py
+++ b/nova/tests/test_nova_manage.py
@@ -55,8 +55,18 @@ class FixedIpCommandsTestCase(test.TestCase):
'192.168.0.100')
self.assertEqual(address['reserved'], True)
+ def test_reserve_nonexistent_address(self):
+ self.assertRaises(SystemExit,
+ self.commands.reserve,
+ '55.55.55.55')
+
def test_unreserve(self):
self.commands.unreserve('192.168.0.100')
address = db.fixed_ip_get_by_address(context.get_admin_context(),
'192.168.0.100')
self.assertEqual(address['reserved'], False)
+
+ def test_unreserve_nonexistent_address(self):
+ self.assertRaises(SystemExit,
+ self.commands.unreserve,
+ '55.55.55.55')