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
diff --git a/src/maasserver/api/tests/test_machine.py b/src/maasserver/api/tests/test_machine.py
index 63e0aa6..46edcc4 100644
--- a/src/maasserver/api/tests/test_machine.py
+++ b/src/maasserver/api/tests/test_machine.py
@@ -1019,10 +1019,14 @@ class TestMachineAPI(APITestCase.ForUser):
1019 'enable_ssh': "true",1019 'enable_ssh': "true",
1020 'skip_networking': 1,1020 'skip_networking': 1,
1021 'commissioning_scripts': ','.join([1021 'commissioning_scripts': ','.join([
1022 choice(commissioning_script_selected_by_tag.tags),1022 choice([
1023 tag for tag in commissioning_script_selected_by_tag.tags
1024 if 'tag' in tag]),
1023 commissioning_script_selected_by_name.name]),1025 commissioning_script_selected_by_name.name]),
1024 'testing_scripts': ','.join([1026 'testing_scripts': ','.join([
1025 choice(testing_script_selected_by_tag.tags),1027 choice([
1028 tag for tag in testing_script_selected_by_tag.tags
1029 if 'tag' in tag]),
1026 testing_script_selected_by_name.name]),1030 testing_script_selected_by_name.name]),
1027 })1031 })
1028 self.assertEqual(http.client.OK, response.status_code)1032 self.assertEqual(http.client.OK, response.status_code)
diff --git a/src/maasserver/api/tests/test_node.py b/src/maasserver/api/tests/test_node.py
index 07fa7e7..706a3a0 100644
--- a/src/maasserver/api/tests/test_node.py
+++ b/src/maasserver/api/tests/test_node.py
@@ -591,8 +591,10 @@ class TestPowerMixin(APITestCase.ForUser):
591 'op': 'test',591 'op': 'test',
592 'enable_ssh': "true",592 'enable_ssh': "true",
593 'testing_scripts': ','.join([593 'testing_scripts': ','.join([
594 random.choice(testing_script_selected_by_tag.tags),594 random.choice([
595 testing_script_selected_by_name.name]),595 tag for tag in testing_script_selected_by_tag.tags
596 if 'tag' in tag
597 ]), testing_script_selected_by_name.name]),
596 })598 })
597 self.assertEqual(http.client.OK, response.status_code)599 self.assertEqual(http.client.OK, response.status_code)
598 node = reload_object(node)600 node = reload_object(node)
diff --git a/src/metadataserver/builtin_scripts/badblocks.py b/src/metadataserver/builtin_scripts/badblocks.py
index 4402a4e..d686a51 100644
--- a/src/metadataserver/builtin_scripts/badblocks.py
+++ b/src/metadataserver/builtin_scripts/badblocks.py
@@ -31,7 +31,7 @@
31# title: Bad blocks31# title: Bad blocks
32# description: The number of bad blocks found on the storage device.32# description: The number of bad blocks found on the storage device.
33# parameters:33# parameters:
34# disk: {type: storage}34# storage: {type: storage}
35# destructive: {{if 'destructive' in name}}True{{else}}False{{endif}}35# destructive: {{if 'destructive' in name}}True{{else}}False{{endif}}
36# --- End MAAS 1.0 script metadata ---36# --- End MAAS 1.0 script metadata ---
3737
diff --git a/src/metadataserver/builtin_scripts/memtester.sh b/src/metadataserver/builtin_scripts/memtester.sh
index c217919..994d15e 100644
--- a/src/metadataserver/builtin_scripts/memtester.sh
+++ b/src/metadataserver/builtin_scripts/memtester.sh
@@ -24,6 +24,8 @@
24# title: Memory integrity24# title: Memory integrity
25# description: Run memtester against all available userspace memory.25# description: Run memtester against all available userspace memory.
26# script_type: test26# script_type: test
27# packages:
28# apt: memtester
27# --- End MAAS 1.0 script metadata ---29# --- End MAAS 1.0 script metadata ---
2830
29sudo -n apt-get install -q -y memtester31sudo -n apt-get install -q -y memtester
diff --git a/src/metadataserver/builtin_scripts/smartctl.py b/src/metadataserver/builtin_scripts/smartctl.py
index 9591e0b..03c9fc3 100644
--- a/src/metadataserver/builtin_scripts/smartctl.py
+++ b/src/metadataserver/builtin_scripts/smartctl.py
@@ -28,7 +28,7 @@
28# hardware_type: storage28# hardware_type: storage
29# parallel: instance29# parallel: instance
30# parameters:30# parameters:
31# disk: {type: storage}31# storage: {type: storage}
32# packages:32# packages:
33# apt: smartctl33# apt: smartctl
34# timeout: {{timeout}}34# timeout: {{timeout}}
diff --git a/src/metadataserver/models/tests/test_scriptset.py b/src/metadataserver/models/tests/test_scriptset.py
index b18b363..443ea58 100644
--- a/src/metadataserver/models/tests/test_scriptset.py
+++ b/src/metadataserver/models/tests/test_scriptset.py
@@ -197,7 +197,9 @@ class TestScriptSetManager(MAASServerTestCase):
197197
198 script_set = ScriptSet.objects.create_commissioning_script_set(198 script_set = ScriptSet.objects.create_commissioning_script_set(
199 node, scripts=[199 node, scripts=[
200 random.choice(script_selected_by_tag.tags),200 random.choice([
201 tag for tag in script_selected_by_tag.tags
202 if 'tag' in tag]),
201 script_selected_by_name.name,203 script_selected_by_name.name,
202 script_selected_by_id.id,204 script_selected_by_id.id,
203 ])205 ])
@@ -274,7 +276,9 @@ class TestScriptSetManager(MAASServerTestCase):
274276
275 script_set = ScriptSet.objects.create_testing_script_set(277 script_set = ScriptSet.objects.create_testing_script_set(
276 node, scripts=[278 node, scripts=[
277 random.choice(script_selected_by_tag.tags),279 random.choice([
280 tag for tag in script_selected_by_tag.tags
281 if 'tag' in tag]),
278 script_selected_by_name.name,282 script_selected_by_name.name,
279 script_selected_by_id.id,283 script_selected_by_id.id,
280 ])284 ])
diff --git a/utilities/find-intermittent-errors b/utilities/find-intermittent-errors
index 7d4841c..105ad9c 100755
--- a/utilities/find-intermittent-errors
+++ b/utilities/find-intermittent-errors
@@ -47,16 +47,13 @@ function stats()
4747
48 echo "Tests run: $(ls $OUTPUT_DIR | wc -l)"48 echo "Tests run: $(ls $OUTPUT_DIR | wc -l)"
49 for i in $OUTPUT_DIR/*; do49 for i in $OUTPUT_DIR/*; do
50 cat $i | awk '/FAIL$/ {50 cat $i | awk '/^(FAIL): .*$/ {
51 for(i=1;i<=NF-2;i++) {51 print($2);
52 printf("%s ", $i);
53 }
54 printf("\n");
55 count++;52 count++;
56 }53 }
57 END {54 END {
58 if(count == 0) print("No failures");55 if(count == 0) print("No failures");
59 }'56 }' | sort -u
60 done | sort | uniq -c | sort -r -n -k 157 done | sort | uniq -c | sort -r -n -k 1
61}58}
6259

Subscribers

People subscribed via source and target branches