Merge lp:~mpontillo/maas/bug-1506247 into lp:~maas-committers/maas/trunk

Proposed by Mike Pontillo
Status: Merged
Approved by: Mike Pontillo
Approved revision: no longer in the source branch.
Merged at revision: 4378
Proposed branch: lp:~mpontillo/maas/bug-1506247
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 69 lines (+24/-2)
3 files modified
.idea/maas.iml (+1/-0)
src/maasserver/preseed_network.py (+2/-2)
src/maasserver/tests/test_preseed_network.py (+21/-0)
To merge this branch: bzr merge lp:~mpontillo/maas/bug-1506247
Reviewer Review Type Date Requested Status
Andres Rodriguez (community) Approve
Review via email: mp+274495@code.launchpad.net

Commit message

Fix curtin networking preseed generator to render DHCP configurations appropriately.

To post a comment you must log in.
Revision history for this message
Andres Rodriguez (andreserl) wrote :

lgtm!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.idea/maas.iml'
--- .idea/maas.iml 2015-05-16 06:21:20 +0000
+++ .idea/maas.iml 2015-10-15 01:34:27 +0000
@@ -4,6 +4,7 @@
4 <content url="file://$MODULE_DIR$">4 <content url="file://$MODULE_DIR$">
5 <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />5 <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
6 <excludeFolder url="file://$MODULE_DIR$/.bzr" />6 <excludeFolder url="file://$MODULE_DIR$/.bzr" />
7 <excludeFolder url="file://$MODULE_DIR$/bin" />
7 <excludeFolder url="file://$MODULE_DIR$/coverage" />8 <excludeFolder url="file://$MODULE_DIR$/coverage" />
8 <excludeFolder url="file://$MODULE_DIR$/local" />9 <excludeFolder url="file://$MODULE_DIR$/local" />
9 <excludeFolder url="file://$MODULE_DIR$/logs" />10 <excludeFolder url="file://$MODULE_DIR$/logs" />
1011
=== modified file 'src/maasserver/preseed_network.py'
--- src/maasserver/preseed_network.py 2015-09-30 07:29:27 +0000
+++ src/maasserver/preseed_network.py 2015-10-15 01:34:27 +0000
@@ -224,7 +224,8 @@
224 IPADDRESS_TYPE.DISCOVERED,224 IPADDRESS_TYPE.DISCOVERED,
225 IPADDRESS_TYPE.DHCP,225 IPADDRESS_TYPE.DHCP,
226 ]).order_by('id'))226 ]).order_by('id'))
227 if self._is_link_up(addresses):227 dhcp_type = self._get_dhcp_type(iface)
228 if self._is_link_up(addresses) and not dhcp_type:
228 addrs.append({"type": "manual"})229 addrs.append({"type": "manual"})
229 else:230 else:
230 for address in addresses:231 for address in addresses:
@@ -240,7 +241,6 @@
240 subnet_operation["dns_nameservers"] = (241 subnet_operation["dns_nameservers"] = (
241 subnet.dns_servers)242 subnet.dns_servers)
242 addrs.append(subnet_operation)243 addrs.append(subnet_operation)
243 dhcp_type = self._get_dhcp_type(iface)
244 if dhcp_type:244 if dhcp_type:
245 addrs.append(245 addrs.append(
246 {"type": dhcp_type}246 {"type": dhcp_type}
247247
=== modified file 'src/maasserver/tests/test_preseed_network.py'
--- src/maasserver/tests/test_preseed_network.py 2015-09-30 07:29:27 +0000
+++ src/maasserver/tests/test_preseed_network.py 2015-10-15 01:34:27 +0000
@@ -29,6 +29,7 @@
29from maasserver.preseed_network import compose_curtin_network_config29from maasserver.preseed_network import compose_curtin_network_config
30from maasserver.testing.factory import factory30from maasserver.testing.factory import factory
31from maasserver.testing.testcase import MAASServerTestCase31from maasserver.testing.testcase import MAASServerTestCase
32from netaddr import IPNetwork
32from testtools.matchers import (33from testtools.matchers import (
33 ContainsDict,34 ContainsDict,
34 Equals,35 Equals,
@@ -311,3 +312,23 @@
311 net_config += self.collectDNSConfig(node)312 net_config += self.collectDNSConfig(node)
312 config = compose_curtin_network_config(node)313 config = compose_curtin_network_config(node)
313 self.assertNetworkConfig(net_config, config)314 self.assertNetworkConfig(net_config, config)
315
316
317class TestDHCPNetworkLayout(MAASServerTestCase,
318 AssertNetworkConfigMixin):
319
320 def test__dhcp_configurations_rendered(self):
321 node = factory.make_Node_with_Interface_on_Subnet()
322 iface = node.interface_set.first()
323 subnet = iface.vlan.subnet_set.first()
324 factory.make_StaticIPAddress(
325 ip=None,
326 alloc_type=IPADDRESS_TYPE.DHCP,
327 interface=iface,
328 subnet=subnet)
329 config = compose_curtin_network_config(node)
330 config_yaml = yaml.load(config[0])
331 self.assertThat(
332 config_yaml['network']['config'][0]['subnets'][0]['type'],
333 Equals('dhcp' + unicode(IPNetwork(subnet.cidr).version))
334 )