diff options
| author | Jenkins <jenkins@review.openstack.org> | 2011-12-20 21:52:35 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2011-12-20 21:52:35 +0000 |
| commit | 733433efbf0dee847096fb9e671c02ef07b21b94 (patch) | |
| tree | 0a5d088051c8dfe71134692ba139dc15974ca06c /nova | |
| parent | 81559a88884fdde14d6ca6bd788c0e37ca3d56cf (diff) | |
| parent | 711adf2d6d6a0cabfb606db31ca0995aabe856d1 (diff) | |
Merge "Improve the minidns tests to handle zone matching."
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/network/minidns.py | 8 | ||||
| -rw-r--r-- | nova/tests/test_network.py | 29 |
2 files changed, 23 insertions, 14 deletions
diff --git a/nova/network/minidns.py b/nova/network/minidns.py index 3b9331318..e955ae7bd 100644 --- a/nova/network/minidns.py +++ b/nova/network/minidns.py @@ -41,7 +41,7 @@ class MiniDNS(object): f.close() def get_zones(self): - return ["zone1.example.org", "zone2.example.org", "zone3.example.org"] + return ["example.org", "example.com", "example.gov"] def qualify(self, name, zone): if zone: @@ -109,13 +109,15 @@ class MiniDNS(object): outfile.close() shutil.move(outfile.name, self.filename) - def get_entries_by_address(self, address, _dnszone=""): + def get_entries_by_address(self, address, dnszone=""): entries = [] infile = open(self.filename, 'r') for line in infile: entry = self.parse_line(line) if entry and entry['address'].lower() == address.lower(): - entries.append(entry['name']) + if entry['name'].lower().endswith(dnszone.lower()): + domain_index = entry['name'].lower().find(dnszone.lower()) + entries.append(entry['name'][0:domain_index - 1]) infile.close() return entries diff --git a/nova/tests/test_network.py b/nova/tests/test_network.py index dfcc13f45..dc26b0298 100644 --- a/nova/tests/test_network.py +++ b/nova/tests/test_network.py @@ -292,19 +292,26 @@ class FlatNetworkTestCase(test.TestCase): networks[0]['id']) def test_mini_dns_driver(self): + zone1 = "example.org" + zone2 = "example.com" driver = self.network.instance_dns_manager - driver.create_entry("hostone", "10.0.0.1", 0, "foozone") - driver.create_entry("hosttwo", "10.0.0.2", 0, "foozone") - driver.create_entry("hostthree", "10.0.0.3", 0, "foozone") - driver.create_entry("hostfour", "10.0.0.4", 0, "foozone") - driver.delete_entry("hosttwo", "foozone") - driver.rename_entry("10.0.0.3", "hostone", "foozone") - driver.modify_address("hostfour", "10.0.0.1", "foozone") - names = driver.get_entries_by_address("10.0.0.1", "foozone") + driver.create_entry("hostone", "10.0.0.1", 0, zone1) + driver.create_entry("hosttwo", "10.0.0.2", 0, zone1) + driver.create_entry("hostthree", "10.0.0.3", 0, zone1) + driver.create_entry("hostfour", "10.0.0.4", 0, zone1) + driver.create_entry("hostfive", "10.0.0.5", 0, zone2) + driver.create_entry("hostsix", "10.0.0.6", 0, zone2) + driver.delete_entry("hosttwo", zone1) + driver.rename_entry("10.0.0.3", "hostone", zone1) + driver.modify_address("hostfour", "10.0.0.1", zone1) + names = driver.get_entries_by_address("10.0.0.1", zone1) self.assertEqual(len(names), 2) - self.assertIn('hostone.foozone', names) - self.assertIn('hostfour.foozone', names) - addresses = driver.get_entries_by_name("hostone", "foozone") + self.assertIn('hostone', names) + self.assertIn('hostfour', names) + names = driver.get_entries_by_address("10.0.0.6", zone2) + self.assertEqual(len(names), 1) + self.assertIn('hostsix', names) + addresses = driver.get_entries_by_name("hostone", zone1) self.assertEqual(len(addresses), 2) self.assertIn('10.0.0.1', addresses) self.assertIn('10.0.0.3', addresses) |
