Merge ~ack/maas:update-node-fix-pool into maas:master

Proposed by Alberto Donato
Status: Merged
Approved by: Alberto Donato
Approved revision: 59ca3baf9871e6a4b9c5d76f14e1f4431199f989
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ack/maas:update-node-fix-pool
Merge into: maas:master
Diff against target: 51 lines (+28/-1)
2 files modified
src/maasserver/websockets/handlers/machine.py (+1/-1)
src/maasserver/websockets/handlers/tests/test_machine.py (+27/-0)
Reviewer Review Type Date Requested Status
Blake Rouse (community) Approve
MAAS Lander Approve
Review via email: mp+360113@code.launchpad.net

Commit message

LP: #1806250 - fix node update handler when pool is None

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

UNIT TESTS
-b update-node-fix-pool lp:~ack/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 59ca3baf9871e6a4b9c5d76f14e1f4431199f989

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

Looks good.

review: Approve

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/websockets/handlers/machine.py b/src/maasserver/websockets/handlers/machine.py
2index 5f744fd..00d43d6 100644
3--- a/src/maasserver/websockets/handlers/machine.py
4+++ b/src/maasserver/websockets/handlers/machine.py
5@@ -335,7 +335,7 @@ class MachineHandler(NodeHandler):
6 new_params["power_parameters"] = params.get("power_parameters")
7 if "zone" in params:
8 new_params["zone"] = params["zone"]["name"]
9- if "pool" in params:
10+ if params.get("pool"):
11 new_params["pool"] = params["pool"]["name"]
12 if "domain" in params:
13 new_params["domain"] = params["domain"]["name"]
14diff --git a/src/maasserver/websockets/handlers/tests/test_machine.py b/src/maasserver/websockets/handlers/tests/test_machine.py
15index 8194b8b..bf7534a 100644
16--- a/src/maasserver/websockets/handlers/tests/test_machine.py
17+++ b/src/maasserver/websockets/handlers/tests/test_machine.py
18@@ -2022,6 +2022,33 @@ class TestMachineHandler(MAASServerTestCase):
19 'power_address': power_address,
20 }))
21
22+ def test_update_no_pool(self):
23+ user = factory.make_admin()
24+ handler = MachineHandler(user, {}, None)
25+ node = factory.make_Node(interface=True)
26+ node_data = self.dehydrate_node(node, handler)
27+ new_zone = factory.make_Zone()
28+ new_hostname = factory.make_name("hostname")
29+ new_architecture = make_usable_architecture(self)
30+ power_id = factory.make_name('power_id')
31+ power_pass = factory.make_name('power_pass')
32+ power_address = factory.make_ipv4_address()
33+ node_data["hostname"] = new_hostname
34+ node_data["architecture"] = new_architecture
35+ node_data["zone"] = {
36+ "name": new_zone.name,
37+ }
38+ # Entry is present but not passed
39+ node_data["pool"] = None
40+ node_data["power_type"] = "virsh"
41+ node_data["power_parameters"] = {
42+ 'power_id': power_id,
43+ 'power_pass': power_pass,
44+ 'power_address': power_address,
45+ }
46+ updated_node = handler.update(node_data)
47+ self.expectThat(updated_node["pool"]["id"], Equals(node.pool.id))
48+
49 def test_update_adds_tags_to_node(self):
50 user = factory.make_admin()
51 handler = MachineHandler(user, {}, None)

Subscribers

People subscribed via source and target branches