diff options
| author | Yuriy Taraday <yorik.sar@gmail.com> | 2012-10-19 14:52:43 +0400 |
|---|---|---|
| committer | Yuriy Taraday <yorik.sar@gmail.com> | 2012-10-19 14:53:15 +0400 |
| commit | 7354bc2f6849ba2370f013dd2f7cc128c56fa411 (patch) | |
| tree | e5dc836b3eb47348041f33cf546f3739d5110e21 | |
| parent | 2cb47fbabf09ced76178e8453d508c66f86a7a3a (diff) | |
Add DNS records on IP allocation in VlanManager.
Change-Id: If13f5d2902905154ce4753a45e5d5369d1bf68af
| -rw-r--r-- | nova/network/manager.py | 11 | ||||
| -rw-r--r-- | nova/tests/network/test_manager.py | 11 |
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()) |
