Merge lp:~rvb/maas/change-mac-type into lp:~maas-committers/maas/trunk

Proposed by Raphaël Badin
Status: Merged
Approved by: Raphaël Badin
Approved revision: no longer in the source branch.
Merged at revision: 2035
Proposed branch: lp:~rvb/maas/change-mac-type
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 30 lines (+6/-2)
2 files modified
src/maasserver/models/node.py (+2/-1)
src/maasserver/models/tests/test_node.py (+4/-1)
To merge this branch: bzr merge lp:~rvb/maas/change-mac-type
Reviewer Review Type Date Requested Status
Jeroen T. Vermeulen (community) Approve
Review via email: mp+208620@code.launchpad.net

Commit message

The objects sent to cluster celery must be plain python objects and not MAAS objects. Otherwise the cluster celery fails when trying to deserialize them because it tries to load MAAS' code.

To post a comment you must log in.
Revision history for this message
Jeroen T. Vermeulen (jtv) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/maasserver/models/node.py'
2--- src/maasserver/models/node.py 2014-02-26 06:13:12 +0000
3+++ src/maasserver/models/node.py 2014-02-27 14:57:47 +0000
4@@ -778,7 +778,8 @@
5 if 'mac_address' not in power_params:
6 primary_mac = self.get_primary_mac()
7 if primary_mac is not None:
8- power_params['mac_address'] = primary_mac.mac_address
9+ mac = primary_mac.mac_address.get_raw()
10+ power_params['mac_address'] = mac
11 return power_params
12
13 def acquire(self, user, token=None, agent_name=''):
14
15=== modified file 'src/maasserver/models/tests/test_node.py'
16--- src/maasserver/models/tests/test_node.py 2014-02-26 06:13:12 +0000
17+++ src/maasserver/models/tests/test_node.py 2014-02-27 14:57:47 +0000
18@@ -1093,8 +1093,11 @@
19 output = Node.objects.start_nodes([node.system_id], user)
20 self.assertItemsEqual([node], output)
21 self.assertEqual(
22- unicode(node.get_primary_mac()),
23+ node.get_primary_mac().mac_address.get_raw(),
24 self.celery.tasks[0]['kwargs']['mac_address'])
25+ self.assertIsInstance(
26+ self.celery.tasks[0]['kwargs']['mac_address'],
27+ unicode)
28
29 def test_start_nodes_wakeonlan_ignores_empty_mac_address_parameter(self):
30 user = factory.make_user()