Merge ~lloydwaltersj/maas:commissioning-kernel-resets-default into maas:master

Proposed by Jack Lloyd-Walters
Status: Merged
Approved by: Jack Lloyd-Walters
Approved revision: 8153f222043941176866e44e4ba8335f51ce95bf
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~lloydwaltersj/maas:commissioning-kernel-resets-default
Merge into: maas:master
Diff against target: 47 lines (+21/-4)
2 files modified
src/maasserver/models/node.py (+6/-4)
src/maasserver/models/tests/test_node.py (+15/-0)
Reviewer Review Type Date Requested Status
Alexsander de Souza Approve
MAAS Lander Approve
Review via email: mp+426086@code.launchpad.net

Commit message

prevent commissioning from enforcing MAAS-wide kernel default

To post a comment you must log in.
b401e25... by Jack Lloyd-Walters

fix spelling mistake

Revision history for this message
Adam Collard (adam-collard) :
8153f22... by Jack Lloyd-Walters

replace ternary operation to improve clarity

Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b commissioning-kernel-resets-default lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: b401e25913450c932b64498ae1d57861bde70f87

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b commissioning-kernel-resets-default lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 8153f222043941176866e44e4ba8335f51ce95bf

review: Approve
Revision history for this message
Alexsander de Souza (alexsander-souza) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/models/node.py b/src/maasserver/models/node.py
2index 5cf2deb..f2ccae3 100644
3--- a/src/maasserver/models/node.py
4+++ b/src/maasserver/models/node.py
5@@ -2341,10 +2341,12 @@ class Node(CleanSave, TimestampedModel):
6 old_status = self.update_status(NODE_STATUS.COMMISSIONING)
7 self.owner = user
8
9- # Set min_hwe_kernel to default_min_hwe_kernel.
10- # This makes sure that the min_hwe_kernel is up to date
11- # with what is stored in the settings.
12- self.min_hwe_kernel = config["default_min_hwe_kernel"]
13+ # Set to default_min_hwe_kernel if min_hwe_kernel not given, and
14+ # default_min_hwe_kernel is defined. Should ensure that set kernels
15+ # are respected on commission, while still allowing the MAAS-wide
16+ # defaults to be set.
17+ if not self.min_hwe_kernel and config["default_min_hwe_kernel"]:
18+ self.min_hwe_kernel = config["default_min_hwe_kernel"]
19 self.save()
20
21 try:
22diff --git a/src/maasserver/models/tests/test_node.py b/src/maasserver/models/tests/test_node.py
23index 4a607d8..714d078 100644
24--- a/src/maasserver/models/tests/test_node.py
25+++ b/src/maasserver/models/tests/test_node.py
26@@ -3442,6 +3442,21 @@ class TestNode(MAASServerTestCase):
27 Config.objects.set_config("default_min_hwe_kernel", "hwe-16.04")
28 node.start_commissioning(admin)
29 post_commit_hooks.reset() # Ignore these for now.
30+ self.assertEqual("ga-16.04", node.min_hwe_kernel)
31+
32+ def test_start_commissioning_sets_min_hwe_kernel_when_default_set(self):
33+ node = factory.make_Node(status=NODE_STATUS.NEW)
34+ node_start = self.patch(node, "_start")
35+ node_start.side_effect = lambda *args, **kwargs: post_commit()
36+ user_data = factory.make_string().encode("ascii")
37+ generate_user_data_for_status = self.patch(
38+ node_module, "generate_user_data_for_status"
39+ )
40+ generate_user_data_for_status.return_value = user_data
41+ admin = factory.make_admin()
42+ Config.objects.set_config("default_min_hwe_kernel", "hwe-16.04")
43+ node.start_commissioning(admin)
44+ post_commit_hooks.reset() # Ignore these for now.
45 self.assertEqual("hwe-16.04", node.min_hwe_kernel)
46
47 def test_start_commissioning_starts_node_if_already_on(self):

Subscribers

People subscribed via source and target branches