Merge ~newell-jensen/maas:lp1756181 into maas:master

Proposed by Newell Jensen
Status: Merged
Approved by: Newell Jensen
Approved revision: f1b2921bf71c8b464ce90bd268feff65b645b2b5
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~newell-jensen/maas:lp1756181
Merge into: maas:master
Diff against target: 45 lines (+12/-3)
2 files modified
src/maasserver/models/bmc.py (+1/-1)
src/maasserver/models/tests/test_bmc.py (+11/-2)
Reviewer Review Type Date Requested Status
Blake Rouse (community) Approve
MAAS Lander Approve
Review via email: mp+341487@code.launchpad.net

Commit message

LP: #1756181 -- Fixes sync overwritting previous pod tags.

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b lp1756181 lp:~newell-jensen/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: f49374369261730328401741ee68a5bc92a9bcc2

review: Approve
Revision history for this message
Blake Rouse (blake-rouse) wrote :

Looks good. Just got one suggestion.

review: Approve
~newell-jensen/maas:lp1756181 updated
f1b2921... by Newell Jensen

Review suggestions.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/models/bmc.py b/src/maasserver/models/bmc.py
2index 2ce11ea..737054e 100644
3--- a/src/maasserver/models/bmc.py
4+++ b/src/maasserver/models/bmc.py
5@@ -915,7 +915,7 @@ class Pod(BMC):
6 self.local_storage = discovered_pod.local_storage
7 self.local_disks = discovered_pod.local_disks
8 self.iscsi_storage = discovered_pod.iscsi_storage
9- self.tags = discovered_pod.tags
10+ self.tags = list(set(self.tags).union(discovered_pod.tags))
11 self.save()
12 self.sync_hints(discovered_pod.hints)
13 self.sync_machines(discovered_pod.machines, commissioning_user)
14diff --git a/src/maasserver/models/tests/test_bmc.py b/src/maasserver/models/tests/test_bmc.py
15index fba7c6e..0843067 100644
16--- a/src/maasserver/models/tests/test_bmc.py
17+++ b/src/maasserver/models/tests/test_bmc.py
18@@ -689,7 +689,13 @@ class TestPod(MAASServerTestCase):
19
20 def test_sync_pod_properties_and_hints(self):
21 discovered = self.make_discovered_pod()
22- pod = factory.make_Pod()
23+ discovered.tags = [
24+ factory.make_name('tag')
25+ for _ in range(3)
26+ ]
27+ # Create a subset of the discovered pod's tags
28+ # to make sure no duplicates are added on sync.
29+ pod = factory.make_Pod(tags=[discovered.tags[0]])
30 self.patch(pod, 'sync_machines')
31 pod.sync(discovered, factory.make_User())
32 self.assertThat(
33@@ -701,8 +707,11 @@ class TestPod(MAASServerTestCase):
34 local_storage=Equals(discovered.local_storage),
35 local_disks=Equals(discovered.local_disks),
36 iscsi_storage=Equals(discovered.iscsi_storage),
37- tags=Equals(discovered.tags),
38 capabilities=Equals(discovered.capabilities),
39+ tags=MatchesSetwise(*[
40+ Equals(tag)
41+ for tag in discovered.tags
42+ ]),
43 hints=MatchesStructure(
44 cores=Equals(discovered.hints.cores),
45 cpu_speed=Equals(discovered.hints.cpu_speed),

Subscribers

People subscribed via source and target branches