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
=== modified file 'src/maasserver/rpc/clusters.py'
--- src/maasserver/rpc/clusters.py 2014-10-09 21:49:44 +0000
+++ src/maasserver/rpc/clusters.py 2014-10-14 15:23:14 +0000
@@ -81,11 +81,11 @@
81 message = "Cluster registered"81 message = "Cluster registered"
8282
83 # Massage the data so that we can pass it into NodeGroupDefineForm.83 # Massage the data so that we can pass it into NodeGroupDefineForm.
84 data = {84 data = {"uuid": uuid}
85 "cluster_name": name,85 if name is not None:
86 "name": domain,86 data["cluster_name"] = name
87 "uuid": uuid,87 if domain is not None:
88 }88 data["name"] = domain
8989
90 # Populate networks when there are no preexisting networks.90 # Populate networks when there are no preexisting networks.
91 if networks is not None:91 if networks is not None:
9292
=== modified file 'src/maasserver/rpc/tests/test_clusters.py'
--- src/maasserver/rpc/tests/test_clusters.py 2014-10-10 09:51:36 +0000
+++ src/maasserver/rpc/tests/test_clusters.py 2014-10-14 15:23:14 +0000
@@ -27,6 +27,7 @@
27 register_cluster,27 register_cluster,
28 )28 )
29from maasserver.testing.factory import factory29from maasserver.testing.factory import factory
30from maasserver.testing.orm import reload_object
30from maasserver.testing.testcase import MAASServerTestCase31from maasserver.testing.testcase import MAASServerTestCase
31from provisioningserver.rpc.exceptions import NoSuchCluster32from provisioningserver.rpc.exceptions import NoSuchCluster
32from testtools.matchers import Equals33from testtools.matchers import Equals
@@ -154,6 +155,19 @@
154 cluster_registered = register_cluster(cluster.uuid, url=None)155 cluster_registered = register_cluster(cluster.uuid, url=None)
155 self.assertEqual(old_url, cluster_registered.maas_url)156 self.assertEqual(old_url, cluster_registered.maas_url)
156157
158 def test__does_NOT_update_cluster_name_if_none_provided(self):
159 cluster_name = factory.make_name("cluster")
160 cluster = factory.make_NodeGroup(cluster_name=cluster_name)
161 cluster_registered = register_cluster(cluster.uuid, name=None)
162 self.assertEqual(
163 cluster_name, reload_object(cluster_registered).cluster_name)
164
165 def test__does_NOT_update_domain_if_none_provided(self):
166 domain = factory.make_name("domain")
167 cluster = factory.make_NodeGroup(name=domain)
168 cluster_registered = register_cluster(cluster.uuid, domain=None)
169 self.assertEqual(domain, reload_object(cluster_registered).name)
170
157 def test__raises_ValidationError_when_input_is_bad(self):171 def test__raises_ValidationError_when_input_is_bad(self):
158 error = self.assertRaises(172 error = self.assertRaises(
159 ValidationError, register_cluster, factory.make_UUID(),173 ValidationError, register_cluster, factory.make_UUID(),