DAOS-19248 test: Fix no tag match for Functional VM stages#18597
DAOS-19248 test: Fix no tag match for Functional VM stages#18597phender wants to merge 25 commits into
Conversation
Ensure Functional VM stages are skipped if no test tags match. Test-tag: test_always_passes_hw Skip-functional-on-el-8: false Skip-functional-on-el-9: false Skip-functional-on-leap-15: false Skip-functional-on-sles-15: false Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Ticket title is 'Update testing branches' |
Skip-test-hardware: true Test-tag: test_load_mpi test_setup_vm Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Test stage Functional on EL 9 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18597/5/display/redirect |
|
Test stage Functional on EL 9 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18597/7/display/redirect |
|
Test stage Functional on EL 8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/13/execution/node/1065/log |
Skip-cancel-previous-builds: true Skip-functional-test: true SKip-fault-injection-testing: true Skip-unit-tests: true Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi test_setup_vm Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Test stage Test RPMs on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/15/execution/node/831/log |
|
Test stage Functional on EL 8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/15/execution/node/944/log |
In Build 15 the According to https://daosio.atlassian.net/browse/DAOS-18925, we need |
skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi test_setup_vm Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
sjip-cancel-previous-builds: true skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-9: true skip-fault-injection-testing: true Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Test stage Test RPMs on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18597/17/display/redirect |
skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-9: true skip-fault-injection-testing: true Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Test stage Test RPMs on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net/job/daos-stack/job/daos/job/PR-18597/18/display/redirect |
skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi test_setup_vm Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Test stage Functional on EL 8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/19/execution/node/948/log |
skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi test_setup_vm Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Test stage Test RPMs on Leap 15.5 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/20/execution/node/973/log |
|
Test stage Functional on EL 8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/20/execution/node/1087/log |
This failure is expected until https://daosio.atlassian.net/browse/DAOS-15233 has been resolved. |
|
Note the improved artifacts for the RPM Test RPM stages: |
skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
skip-unit-tests: true skip-test-hardware: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
| imageVersion: 'el9.6', | ||
| instRpms: 'mercury-libfabric', | ||
| nodeList: env.NODELIST, | ||
| alwaysScript: 'ci/rpm/test_daos_post.sh \'Test RPMs on EL 9\'', |
There was a problem hiding this comment.
What I mean is
- test_daos.sh
- lives in daos-stack/daos
- hardcoded reference in daos-stack/pipeline-lib
- IMO this is bad design but is pre-existing
- test_daos_post.sh
- lives in daos-stack/daos
- argument reference in daos-stack/daos
grom72
left a comment
There was a problem hiding this comment.
Can you adjust PR description - it is hard to follow the goal of this changes.
| } | ||
| } |
There was a problem hiding this comment.
| } | |
| } | |
| } // parallel | |
| } // script |
There was a problem hiding this comment.
The team seems to go back and forth on these types of comments. I've maintained them in the past only to have someone else remove them. When viewing code in a modern IDE, I think we can leave them out.
| archiveArtifactsArgs: [ | ||
| artifacts: 'Test RPMs on EL 9/'] | ||
| ), | ||
| 'Test RPMs on Leap 15': scriptedTestRpmStage( |
There was a problem hiding this comment.
Something is wrong here:
We have to use the string 'Test RPMs on Leap 15' in 5 places
There was a problem hiding this comment.
Some of this is inevitable:
- one is used for the build parameter name (trying to keep it in sync with the stage name for ease of use)
- three are used for the stage name - one to define a unique
parallel()entry, another to define the stage name in the method linked to said entry, and a third to reference the aforementioned matching build parameter name.
The other two are used as part of the runStage() map. I did try to reduce the number of times the stages are repeated here, but the only clean way to seed the runStage map w/ the stage names from the Jenkins build parameters keys resulted in an unordered list. Having an ordered list is very useful for displayRunStage(), so having one reference in the stageOrder list won out. The other references in updateRunStage() are needed for processing special build params / modes/ commit pragmas - for this stage there is only one when handling quickFunctional().
I did keep maintainability in mind, and at least a simple search and replace should cover most updates.
| imageVersion: 'leap15.6', | ||
| instRpms: 'mercury-libfabric', | ||
| nodeList: env.NODELIST, | ||
| alwaysScript: 'ci/rpm/test_daos_post.sh \'Test RPMs on Leap 15\'', |
There was a problem hiding this comment.
Let's indicate when this script is used.
| alwaysScript: 'ci/rpm/test_daos_post.sh \'Test RPMs on Leap 15\'', | |
| alwaysPostScript: 'ci/rpm/test_daos_post.sh \'Test RPMs on Leap 15\'', |
There was a problem hiding this comment.
I used alwaysScript as that's the name used for the same type of script in FunctionalTestPost(), functionalTestPostV2(), parseStageInfo(), and unitTest() - converted to a camel-case groovy-style variable name. I think the consistency makes sense.
| "bash -lc 'NODE=${nodelist[0]} DAOS_PKG_VERSION=$DAOS_PKG_VERSION PYTHON_VERSION=$PYTHON_VERSION \ | ||
| bash -s 2>&1 | tee /tmp/test_daos_rpms.log; exit \${PIPESTATUS[0]}'" \ | ||
| < "$mydir/test_daos_node.sh" |
There was a problem hiding this comment.
Less bash call easier to follow.
| "bash -lc 'NODE=${nodelist[0]} DAOS_PKG_VERSION=$DAOS_PKG_VERSION PYTHON_VERSION=$PYTHON_VERSION \ | |
| bash -s 2>&1 | tee /tmp/test_daos_rpms.log; exit \${PIPESTATUS[0]}'" \ | |
| < "$mydir/test_daos_node.sh" | |
| "export NODE='${nodelist[0]}' DAOS_PKG_VERSION='$DAOS_PKG_VERSION' PYTHON_VERSION='$PYTHON_VERSION'; | |
| bash -s < /dev/stdin |& tee /tmp/test_daos_rpms.log; | |
| exit \${PIPESTATUS[0]}" \ | |
| < "$mydir/test_daos_node.sh" |
There was a problem hiding this comment.
I'm not sure I find that to be clearer. It might just be a personal preference thing.
|
Test stage Functional on SLES 15 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/27/execution/node/1011/log |
|
Test stage Functional on EL 8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/27/execution/node/1065/log |
|
Test stage Functional on Leap 15 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/27/execution/node/1021/log |
|
Test stage Functional on EL 9 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/27/execution/node/1031/log |
|
Test stage Functional on EL 8 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/29/execution/node/1026/log |
|
Test stage Functional on Leap 15 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/29/execution/node/1048/log |
|
Test stage Functional on EL 9 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/29/execution/node/1058/log |
|
Test stage Functional on SLES 15 completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/29/execution/node/1148/log |
skip-unit-tests: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
Description updated. |
skip-unit-tests: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
skip-unit-tests: true skip-functional-on-el-8: false skip-functional-on-leap-15: false skip-functional-on-sles-15: false test-tag: test_load_mpi Signed-off-by: Phil Henderson <phillip.henderson@hpe.com>
|
Test stage Functional Cluster Box Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/45/execution/node/1511/log |
|
Test stage Functional Hardware Large MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/45/execution/node/1608/log |
|
Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/45/execution/node/1743/log |
|
Test stage Functional Hardware Medium Verbs Provider MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/45/execution/node/1792/log |
|
Test stage Functional Cluster Box Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/46/execution/node/728/log |
|
Test stage Functional Hardware Large MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/46/execution/node/910/log |
|
Test stage Functional Hardware Medium Verbs Provider MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/46/execution/node/920/log |
|
Test stage Functional Hardware Medium MD on SSD completed with status FAILURE. https://jenkins-3.daos.hpc.amslabs.hpecorp.net//job/daos-stack/job/daos/view/change-requests/job/PR-18597/46/execution/node/1007/log |
Define the stages in the Test stage as scripted stages to enable running the
Functional Test stages run on VM with the getFunctionalTestStage() method.
This will enable using testsInStage() to verify the test tags will result in at
least one test to be run by this stage - fixing a current issue where VM
Functional test stages can fail with no tests matching the tags. To run the
Test RPM and Fault injection testing stages as scripted stages two new
pipeline-lib methods are being utilized: scriptedTestRpmStage() and
scriptedUnitTestStage().
Additional fixes/changes:
Test-tag: test_always_passes_hw
Skip-functional-on-el-8: false
Skip-functional-on-el-9: false
Skip-functional-on-leap-15: false
Skip-functional-on-sles-15: false
Steps for the author:
After all prior steps are complete: