diff options
| author | Joe Gordon <jogo@cloudscaling.com> | 2011-11-01 12:22:13 -0700 |
|---|---|---|
| committer | Joe Gordon <jogo@cloudscaling.com> | 2011-11-03 10:52:24 -0700 |
| commit | a6a7e936fe8fb55471dc1ecc41d8644398e45ef7 (patch) | |
| tree | 61b3c3728f034c2649197b7ab8eb4b0e9aa3965c | |
| parent | 005db2d7d494115c05b68875dcf222a68abc0957 (diff) | |
| download | nova-a6a7e936fe8fb55471dc1ecc41d8644398e45ef7.tar.gz nova-a6a7e936fe8fb55471dc1ecc41d8644398e45ef7.tar.xz nova-a6a7e936fe8fb55471dc1ecc41d8644398e45ef7.zip | |
fix bug 816630
Off by one error fixed
With test case
Change-Id: I5060c0a59949d69d6f859a01e7cf5fa8e0227d8a
| -rw-r--r-- | nova/network/manager.py | 2 | ||||
| -rw-r--r-- | nova/tests/test_network.py | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/nova/network/manager.py b/nova/network/manager.py index 79bb0eda1..921d25645 100644 --- a/nova/network/manager.py +++ b/nova/network/manager.py @@ -1018,7 +1018,7 @@ class NetworkManager(manager.SchedulerDependentManager): ips = [] for index in range(num_ips): address = str(project_net[index]) - if index < bottom_reserved or num_ips - index < top_reserved: + if index < bottom_reserved or num_ips - index <= top_reserved: reserved = True else: reserved = False diff --git a/nova/tests/test_network.py b/nova/tests/test_network.py index 17e79f39a..afcebc223 100644 --- a/nova/tests/test_network.py +++ b/nova/tests/test_network.py @@ -201,6 +201,17 @@ class FlatNetworkTestCase(test.TestCase): self.mox.ReplayAll() self.network.validate_networks(self.context, requested_networks) + def test_validate_reserved(self): + context_admin = context.RequestContext('testuser', 'testproject', + is_admin=True) + nets = self.network.create_networks(context_admin, 'fake', + '192.168.0.0/24', False, 1, + 256, None, None, None, None ) + self.assertEqual(1, len(nets)) + network = nets[0] + self.assertEqual(3, db.network_count_reserved_ips(context_admin, + network['id'])) + def test_validate_networks_none_requested_networks(self): self.network.validate_networks(self.context, None) |
