diff options
| author | Alex Meade <alex.meade@rackspace.com> | 2011-08-22 17:08:11 -0400 |
|---|---|---|
| committer | Alex Meade <alex.meade@rackspace.com> | 2011-08-22 17:08:11 -0400 |
| commit | 77f15157c5ca7013df397abc22a8866cce02976d (patch) | |
| tree | 9e3bbaf2f787b2d73fc81ce4c70fac13afd30322 | |
| parent | 8d62d47a1148cc79c0ef0330e0c2d70177ea71c8 (diff) | |
Ensure that reserve and unreserve exit when an address is not found
| -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') |
