Merge lp:~allenap/maas/cluster-name-override--bug-1380805 into lp:~maas-committers/maas/trunk

Proposed by Gavin Panella
Status: Merged
Approved by: Gavin Panella
Approved revision: no longer in the source branch.
Merged at revision: 3252
Proposed branch: lp:~allenap/maas/cluster-name-override--bug-1380805
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 52 lines (+19/-5)
2 files modified
src/maasserver/rpc/clusters.py (+5/-5)
src/maasserver/rpc/tests/test_clusters.py (+14/-0)
To merge this branch: bzr merge lp:~allenap/maas/cluster-name-override--bug-1380805
Reviewer Review Type Date Requested Status
Raphaël Badin (community) Approve
Graham Binns (community) Approve
Review via email: mp+238307@code.launchpad.net

Commit message

Don't clobber the cluster name and domain when a cluster registers.

A cluster goes through the registration process every time it connects to a region controller, whether or not it has done so before.

To post a comment you must log in.
Revision history for this message
Graham Binns (gmb) :
review: Approve
Revision history for this message
Raphaël Badin (rvb) :
review: Approve
Revision history for this message
Gavin Panella (allenap) wrote :

Thanks for your blessing m'lord!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/maasserver/rpc/clusters.py'
2--- src/maasserver/rpc/clusters.py 2014-10-09 21:49:44 +0000
3+++ src/maasserver/rpc/clusters.py 2014-10-14 15:23:14 +0000
4@@ -81,11 +81,11 @@
5 message = "Cluster registered"
6
7 # Massage the data so that we can pass it into NodeGroupDefineForm.
8- data = {
9- "cluster_name": name,
10- "name": domain,
11- "uuid": uuid,
12- }
13+ data = {"uuid": uuid}
14+ if name is not None:
15+ data["cluster_name"] = name
16+ if domain is not None:
17+ data["name"] = domain
18
19 # Populate networks when there are no preexisting networks.
20 if networks is not None:
21
22=== modified file 'src/maasserver/rpc/tests/test_clusters.py'
23--- src/maasserver/rpc/tests/test_clusters.py 2014-10-10 09:51:36 +0000
24+++ src/maasserver/rpc/tests/test_clusters.py 2014-10-14 15:23:14 +0000
25@@ -27,6 +27,7 @@
26 register_cluster,
27 )
28 from maasserver.testing.factory import factory
29+from maasserver.testing.orm import reload_object
30 from maasserver.testing.testcase import MAASServerTestCase
31 from provisioningserver.rpc.exceptions import NoSuchCluster
32 from testtools.matchers import Equals
33@@ -154,6 +155,19 @@
34 cluster_registered = register_cluster(cluster.uuid, url=None)
35 self.assertEqual(old_url, cluster_registered.maas_url)
36
37+ def test__does_NOT_update_cluster_name_if_none_provided(self):
38+ cluster_name = factory.make_name("cluster")
39+ cluster = factory.make_NodeGroup(cluster_name=cluster_name)
40+ cluster_registered = register_cluster(cluster.uuid, name=None)
41+ self.assertEqual(
42+ cluster_name, reload_object(cluster_registered).cluster_name)
43+
44+ def test__does_NOT_update_domain_if_none_provided(self):
45+ domain = factory.make_name("domain")
46+ cluster = factory.make_NodeGroup(name=domain)
47+ cluster_registered = register_cluster(cluster.uuid, domain=None)
48+ self.assertEqual(domain, reload_object(cluster_registered).name)
49+
50 def test__raises_ValidationError_when_input_is_bad(self):
51 error = self.assertRaises(
52 ValidationError, register_cluster, factory.make_UUID(),