summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuriy Taraday <yorik.sar@gmail.com>2012-10-19 14:52:43 +0400
committerYuriy Taraday <yorik.sar@gmail.com>2012-10-19 14:53:15 +0400
commit7354bc2f6849ba2370f013dd2f7cc128c56fa411 (patch)
treee5dc836b3eb47348041f33cf546f3739d5110e21
parent2cb47fbabf09ced76178e8453d508c66f86a7a3a (diff)
Add DNS records on IP allocation in VlanManager.
Change-Id: If13f5d2902905154ce4753a45e5d5369d1bf68af
-rw-r--r--nova/network/manager.py11
-rw-r--r--nova/tests/network/test_manager.py11
2 files changed, 18 insertions, 4 deletions
diff --git a/nova/network/manager.py b/nova/network/manager.py
index f8ef65d3a..7bce158fd 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -1975,6 +1975,17 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager):
values = {'allocated': True,
'virtual_interface_id': vif['id']}
self.db.fixed_ip_update(context, address, values)
+
+ if self._validate_instance_zone_for_dns_domain(context, instance):
+ name = instance['display_name']
+ uuid = instance['uuid']
+ self.instance_dns_manager.create_entry(name, address,
+ "A",
+ self.instance_dns_domain)
+ self.instance_dns_manager.create_entry(uuid, address,
+ "A",
+ self.instance_dns_domain)
+
self._setup_network_on_host(context, network)
return address
diff --git a/nova/tests/network/test_manager.py b/nova/tests/network/test_manager.py
index 1ade8bacc..fa4455ac7 100644
--- a/nova/tests/network/test_manager.py
+++ b/nova/tests/network/test_manager.py
@@ -427,7 +427,8 @@ class VlanNetworkTestCase(test.TestCase):
'virtual_interface_get_by_instance_and_network')
db.instance_get(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn({'uuid': '42'})
+ mox.IgnoreArg()).AndReturn({'uuid': '42',
+ 'display_name': HOST})
db.fixed_ip_associate(mox.IgnoreArg(),
mox.IgnoreArg(),
mox.IgnoreArg(),
@@ -442,7 +443,7 @@ class VlanNetworkTestCase(test.TestCase):
network = dict(networks[0])
network['vpn_private_address'] = '192.168.0.2'
- self.network.allocate_fixed_ip(None, 0, network, vpn=True)
+ self.network.allocate_fixed_ip(self.context, 0, network, vpn=True)
def test_vpn_allocate_fixed_ip_no_network_id(self):
network = dict(networks[0])
@@ -466,7 +467,8 @@ class VlanNetworkTestCase(test.TestCase):
self.mox.StubOutWithMock(db, 'instance_get')
db.instance_get(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn({'uuid': FAKEUUID})
+ mox.IgnoreArg()).AndReturn({'display_name': HOST,
+ 'uuid': FAKEUUID})
db.instance_get(mox.IgnoreArg(),
mox.IgnoreArg()).AndReturn({'security_groups':
[{'id': 0}]})
@@ -877,7 +879,8 @@ class VlanNetworkTestCase(test.TestCase):
self.mox.StubOutWithMock(db, 'fixed_ip_update')
db.instance_get(mox.IgnoreArg(),
- mox.IgnoreArg()).AndReturn({'uuid': FAKEUUID})
+ mox.IgnoreArg()).AndReturn({'uuid': FAKEUUID,
+ 'display_name': HOST})
db.fixed_ip_update(mox.IgnoreArg(),
mox.IgnoreArg(),
mox.IgnoreArg())