Merge ~ltrager/maas:fix_tests_hardware_type_tags into maas:master

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: 3a96221b4cfdd9f81d5d3813d9a32d30c3414ff1
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:fix_tests_hardware_type_tags
Merge into: maas:master
Diff against target: 126 lines (+23/-14)
7 files modified
src/maasserver/api/tests/test_machine.py (+6/-2)
src/maasserver/api/tests/test_node.py (+4/-2)
src/metadataserver/builtin_scripts/badblocks.py (+1/-1)
src/metadataserver/builtin_scripts/memtester.sh (+2/-0)
src/metadataserver/builtin_scripts/smartctl.py (+1/-1)
src/metadataserver/models/tests/test_scriptset.py (+6/-2)
utilities/find-intermittent-errors (+3/-6)
Reviewer Review Type Date Requested Status
Andres Rodriguez (community) Approve
Newell Jensen (community) Approve
Review via email: mp+329277@code.launchpad.net

Commit message

Fix tests broken by hardware type tags.

With the addition of hardware type to scripts scripts are now auto tagged
with their hardware type. Some tests did not expect that. Also fixed naming in some script metadata and add apt install section to memtester.sh.

To post a comment you must log in.
Revision history for this message
Andres Rodriguez (andreserl) wrote :

quick question inline

review: Needs Information
Revision history for this message
Andres Rodriguez (andreserl) :
Revision history for this message
Newell Jensen (newell-jensen) wrote :

LGTM

review: Approve
Revision history for this message
Newell Jensen (newell-jensen) wrote :

Not going to stop you from landing but splitting up the drive by fix for s/disk/storage might be better in another branch.

Revision history for this message
Andres Rodriguez (andreserl) :
review: Approve
Revision history for this message
Andres Rodriguez (andreserl) wrote :

I'm approving on the condition we review the naming convention because, it doesn't really seem user readable.

Also, I noticed that hardware_type: storage to define the type of a *Test* is not the right parameter.

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

LANDING
-b fix_tests_hardware_type_tags lp:~ltrager/maas into -b master lp:~maas-committers/maas

STATUS: FAILED BUILD
LOG: http://maas-ci-jenkins.internal:8080/job/maas/job/branch-tester/230/consoleText

5d4efe9... by Lee Trager

Fix intermittent script failures.

3a96221... by Lee Trager

Merge branch 'fix_tests_hardware_type_tags_2' into fix_tests_hardware_type_tags

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/api/tests/test_machine.py b/src/maasserver/api/tests/test_machine.py
2index 63e0aa6..46edcc4 100644
3--- a/src/maasserver/api/tests/test_machine.py
4+++ b/src/maasserver/api/tests/test_machine.py
5@@ -1019,10 +1019,14 @@ class TestMachineAPI(APITestCase.ForUser):
6 'enable_ssh': "true",
7 'skip_networking': 1,
8 'commissioning_scripts': ','.join([
9- choice(commissioning_script_selected_by_tag.tags),
10+ choice([
11+ tag for tag in commissioning_script_selected_by_tag.tags
12+ if 'tag' in tag]),
13 commissioning_script_selected_by_name.name]),
14 'testing_scripts': ','.join([
15- choice(testing_script_selected_by_tag.tags),
16+ choice([
17+ tag for tag in testing_script_selected_by_tag.tags
18+ if 'tag' in tag]),
19 testing_script_selected_by_name.name]),
20 })
21 self.assertEqual(http.client.OK, response.status_code)
22diff --git a/src/maasserver/api/tests/test_node.py b/src/maasserver/api/tests/test_node.py
23index 07fa7e7..706a3a0 100644
24--- a/src/maasserver/api/tests/test_node.py
25+++ b/src/maasserver/api/tests/test_node.py
26@@ -591,8 +591,10 @@ class TestPowerMixin(APITestCase.ForUser):
27 'op': 'test',
28 'enable_ssh': "true",
29 'testing_scripts': ','.join([
30- random.choice(testing_script_selected_by_tag.tags),
31- testing_script_selected_by_name.name]),
32+ random.choice([
33+ tag for tag in testing_script_selected_by_tag.tags
34+ if 'tag' in tag
35+ ]), testing_script_selected_by_name.name]),
36 })
37 self.assertEqual(http.client.OK, response.status_code)
38 node = reload_object(node)
39diff --git a/src/metadataserver/builtin_scripts/badblocks.py b/src/metadataserver/builtin_scripts/badblocks.py
40index 4402a4e..d686a51 100644
41--- a/src/metadataserver/builtin_scripts/badblocks.py
42+++ b/src/metadataserver/builtin_scripts/badblocks.py
43@@ -31,7 +31,7 @@
44 # title: Bad blocks
45 # description: The number of bad blocks found on the storage device.
46 # parameters:
47-# disk: {type: storage}
48+# storage: {type: storage}
49 # destructive: {{if 'destructive' in name}}True{{else}}False{{endif}}
50 # --- End MAAS 1.0 script metadata ---
51
52diff --git a/src/metadataserver/builtin_scripts/memtester.sh b/src/metadataserver/builtin_scripts/memtester.sh
53index c217919..994d15e 100644
54--- a/src/metadataserver/builtin_scripts/memtester.sh
55+++ b/src/metadataserver/builtin_scripts/memtester.sh
56@@ -24,6 +24,8 @@
57 # title: Memory integrity
58 # description: Run memtester against all available userspace memory.
59 # script_type: test
60+# packages:
61+# apt: memtester
62 # --- End MAAS 1.0 script metadata ---
63
64 sudo -n apt-get install -q -y memtester
65diff --git a/src/metadataserver/builtin_scripts/smartctl.py b/src/metadataserver/builtin_scripts/smartctl.py
66index 9591e0b..03c9fc3 100644
67--- a/src/metadataserver/builtin_scripts/smartctl.py
68+++ b/src/metadataserver/builtin_scripts/smartctl.py
69@@ -28,7 +28,7 @@
70 # hardware_type: storage
71 # parallel: instance
72 # parameters:
73-# disk: {type: storage}
74+# storage: {type: storage}
75 # packages:
76 # apt: smartctl
77 # timeout: {{timeout}}
78diff --git a/src/metadataserver/models/tests/test_scriptset.py b/src/metadataserver/models/tests/test_scriptset.py
79index b18b363..443ea58 100644
80--- a/src/metadataserver/models/tests/test_scriptset.py
81+++ b/src/metadataserver/models/tests/test_scriptset.py
82@@ -197,7 +197,9 @@ class TestScriptSetManager(MAASServerTestCase):
83
84 script_set = ScriptSet.objects.create_commissioning_script_set(
85 node, scripts=[
86- random.choice(script_selected_by_tag.tags),
87+ random.choice([
88+ tag for tag in script_selected_by_tag.tags
89+ if 'tag' in tag]),
90 script_selected_by_name.name,
91 script_selected_by_id.id,
92 ])
93@@ -274,7 +276,9 @@ class TestScriptSetManager(MAASServerTestCase):
94
95 script_set = ScriptSet.objects.create_testing_script_set(
96 node, scripts=[
97- random.choice(script_selected_by_tag.tags),
98+ random.choice([
99+ tag for tag in script_selected_by_tag.tags
100+ if 'tag' in tag]),
101 script_selected_by_name.name,
102 script_selected_by_id.id,
103 ])
104diff --git a/utilities/find-intermittent-errors b/utilities/find-intermittent-errors
105index 7d4841c..105ad9c 100755
106--- a/utilities/find-intermittent-errors
107+++ b/utilities/find-intermittent-errors
108@@ -47,16 +47,13 @@ function stats()
109
110 echo "Tests run: $(ls $OUTPUT_DIR | wc -l)"
111 for i in $OUTPUT_DIR/*; do
112- cat $i | awk '/FAIL$/ {
113- for(i=1;i<=NF-2;i++) {
114- printf("%s ", $i);
115- }
116- printf("\n");
117+ cat $i | awk '/^(FAIL): .*$/ {
118+ print($2);
119 count++;
120 }
121 END {
122 if(count == 0) print("No failures");
123- }'
124+ }' | sort -u
125 done | sort | uniq -c | sort -r -n -k 1
126 }
127

Subscribers

People subscribed via source and target branches