Merge ~ltrager/maas:lp1751946 into maas:master

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: c58d869304f61c9afd7231c945a3a3032e6030c0
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:lp1751946
Merge into: maas:master
Diff against target: 61 lines (+24/-1)
2 files modified
src/metadataserver/models/scriptset.py (+1/-1)
src/metadataserver/models/tests/test_scriptset.py (+23/-0)
Reviewer Review Type Date Requested Status
Alberto Donato (community) Approve
MAAS Lander Approve
Review via email: mp+340074@code.launchpad.net

Commit message

LP: #1751946 - Only cleanup ScriptSets of the same type.

To post a comment you must log in.
~ltrager/maas:lp1751946 updated
c58d869... by Lee Trager

Fix lint

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

UNIT TESTS
-b lp1751946 lp:~ltrager/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: a796282548af873a1b781e910bbb86b9bc385b78

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

UNIT TESTS
-b lp1751946 lp:~ltrager/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: c58d869304f61c9afd7231c945a3a3032e6030c0

review: Approve
Revision history for this message
Alberto Donato (ack) wrote :

+1, lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/metadataserver/models/scriptset.py b/src/metadataserver/models/scriptset.py
2index ad8f51b..1b9e674 100644
3--- a/src/metadataserver/models/scriptset.py
4+++ b/src/metadataserver/models/scriptset.py
5@@ -178,7 +178,6 @@ class ScriptSetManager(Manager):
6 # node's current_testing_script_set the UI will show an empty table and
7 # the node-results API will not output any test results.
8 if not script_set.scriptresult_set.exists():
9- script_set.delete()
10 raise NoScriptsFound()
11
12 self._clean_old(node, RESULT_TYPE.TESTING, script_set)
13@@ -282,6 +281,7 @@ class ScriptSetManager(Manager):
14 # it is not associated with any disk. Check for this case and clean it
15 # up when trying commissioning again.
16 for script_result in ScriptResult.objects.filter(
17+ script_set__result_type=new_script_set.result_type,
18 script_set__node=node).exclude(parameters={}).exclude(
19 script_set=new_script_set):
20 for param in script_result.parameters.values():
21diff --git a/src/metadataserver/models/tests/test_scriptset.py b/src/metadataserver/models/tests/test_scriptset.py
22index 3da10d6..82645de 100644
23--- a/src/metadataserver/models/tests/test_scriptset.py
24+++ b/src/metadataserver/models/tests/test_scriptset.py
25@@ -18,6 +18,7 @@ from maasserver.models import (
26 Config,
27 Event,
28 EventType,
29+ Node,
30 )
31 from maasserver.preseed import CURTIN_INSTALL_LOG
32 from maasserver.testing.factory import factory
33@@ -371,6 +372,28 @@ class TestScriptSetManager(MAASServerTestCase):
34 1,
35 ScriptResult.objects.filter(script_name=script_name).count())
36
37+ def test_create_commissioning_script_set_only_cleans_same_type(self):
38+ # Regression test for LP:1751946
39+ node = Node.objects.create()
40+ script_set = ScriptSet.objects.create_commissioning_script_set(
41+ node=node)
42+ script_set.scriptresult_set.update(status=SCRIPT_STATUS.ABORTED)
43+ node.current_commissioning_script_set = script_set
44+ script = factory.make_Script(
45+ script_type=SCRIPT_TYPE.TESTING,
46+ parameters={'storage': {'type': 'storage'}})
47+ testing_script_set = ScriptSet.objects.create_testing_script_set(
48+ node=node, scripts=[script.id])
49+ testing_script_set.scriptresult_set.update(
50+ status=SCRIPT_STATUS.ABORTED)
51+ node.current_testing_script_set = testing_script_set
52+ node.save()
53+ new_script_set = ScriptSet.objects.create_commissioning_script_set(
54+ node=node)
55+ node.current_commissioning_script_set = new_script_set
56+ node.save()
57+ self.assertIsNotNone(ScriptSet.objects.get(id=testing_script_set.id))
58+
59 def test_create_commissioning_script_set_removes_previous_placeholder(
60 self):
61 # Regression test for LP:1731075

Subscribers

People subscribed via source and target branches