summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2011-12-20 21:52:35 +0000
committerGerrit Code Review <review@openstack.org>2011-12-20 21:52:35 +0000
commit733433efbf0dee847096fb9e671c02ef07b21b94 (patch)
tree0a5d088051c8dfe71134692ba139dc15974ca06c /nova
parent81559a88884fdde14d6ca6bd788c0e37ca3d56cf (diff)
parent711adf2d6d6a0cabfb606db31ca0995aabe856d1 (diff)
Merge "Improve the minidns tests to handle zone matching."
Diffstat (limited to 'nova')
-rw-r--r--nova/network/minidns.py8
-rw-r--r--nova/tests/test_network.py29
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)