Merge lp:~mpontillo/maas/subnet-list-nonetype--bug-1599997--2.0 into lp:maas/2.0

Proposed by Mike Pontillo
Status: Merged
Approved by: Mike Pontillo
Approved revision: no longer in the source branch.
Merged at revision: 5146
Proposed branch: lp:~mpontillo/maas/subnet-list-nonetype--bug-1599997--2.0
Merge into: lp:maas/2.0
Diff against target: 62 lines (+22/-1)
3 files modified
docs/changelog.rst (+6/-0)
src/maasserver/websockets/handlers/subnet.py (+2/-0)
src/maasserver/websockets/handlers/tests/test_subnet.py (+14/-1)
To merge this branch: bzr merge lp:~mpontillo/maas/subnet-list-nonetype--bug-1599997--2.0
Reviewer Review Type Date Requested Status
Mike Pontillo (community) Approve
Review via email: mp+299487@code.launchpad.net

Commit message

Backport revision 5160 from trunk to fix issue where NULL dns_servers field in subnet websocket handler was handled improperly. Update changelog.

To post a comment you must log in.
Revision history for this message
Mike Pontillo (mpontillo) wrote :

Self-approving backport.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'docs/changelog.rst'
2--- docs/changelog.rst 2016-07-01 03:06:12 +0000
3+++ docs/changelog.rst 2016-07-07 22:48:43 +0000
4@@ -2,6 +2,12 @@
5 Changelog
6 =========
7
8+2.0.0 (rc2)
9+===========
10+
11+LP: #1599997 [2.0rc1] after upgrade from 2.0b3, Error on request (13) subnet.list: 'NoneType' object is not iterable
12+
13+
14 2.0.0 (rc1)
15 ===========
16
17
18=== modified file 'src/maasserver/websockets/handlers/subnet.py'
19--- src/maasserver/websockets/handlers/subnet.py 2016-05-11 19:01:48 +0000
20+++ src/maasserver/websockets/handlers/subnet.py 2016-07-07 22:48:43 +0000
21@@ -43,6 +43,8 @@
22 ]
23
24 def dehydrate_dns_servers(self, dns_servers):
25+ if dns_servers is None:
26+ return ""
27 return " ".join(sorted(dns_servers))
28
29 def dehydrate(self, subnet, data, for_list=False):
30
31=== modified file 'src/maasserver/websockets/handlers/tests/test_subnet.py'
32--- src/maasserver/websockets/handlers/tests/test_subnet.py 2016-05-12 19:07:37 +0000
33+++ src/maasserver/websockets/handlers/tests/test_subnet.py 2016-07-07 22:48:43 +0000
34@@ -26,7 +26,10 @@
35 "created": dehydrate_datetime(subnet.created),
36 "name": subnet.name,
37 "description": subnet.description,
38- "dns_servers": " ".join(sorted(subnet.dns_servers)),
39+ "dns_servers": (
40+ " ".join(sorted(subnet.dns_servers))
41+ if subnet.dns_servers is not None else ''
42+ ),
43 "vlan": subnet.vlan_id,
44 "space": subnet.space_id,
45 "rdns_mode": subnet.rdns_mode,
46@@ -52,6 +55,16 @@
47 result = handler.get({"id": subnet.id})
48 self.assertThat(result, Equals(expected_data))
49
50+ def test_get_handles_null_dns_servers(self):
51+ user = factory.make_User()
52+ handler = SubnetHandler(user, {})
53+ subnet = factory.make_Subnet()
54+ subnet.dns_servers = None
55+ subnet.save()
56+ expected_data = self.dehydrate_subnet(subnet)
57+ result = handler.get({"id": subnet.id})
58+ self.assertThat(result, Equals(expected_data))
59+
60 def test_list(self):
61 user = factory.make_User()
62 handler = SubnetHandler(user, {})

Subscribers

People subscribed via source and target branches

to all changes: