diff options
| author | Alex Meade <alex.meade@rackspace.com> | 2011-08-23 00:44:47 +0000 |
|---|---|---|
| committer | Tarmac <> | 2011-08-23 00:44:47 +0000 |
| commit | 4e987a070ad3d50d2b47a894029f981168bacd1f (patch) | |
| tree | 7b620debeffb6c9e20d2ddb5051620df821beda6 | |
| parent | 2444acdff40c6c44fc0f3d013b6a893f3a0b5c1d (diff) | |
| parent | 0a9a6db83aca1f84b6e7943edd492e9fbc066063 (diff) | |
Fixes bug 831627 where nova-manage does not exit when given a non-existent network address
| -rwxr-xr-x | bin/nova-manage | 2 | ||||
| -rw-r--r-- | nova/tests/test_nova_manage.py | 10 |
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') |
