[develop] Python-based crontab replacement#466
Conversation
|
@mark-a-potts This looks like a good short-term solution to me. I wonder if we should include a brief README file in this directory letting users know which flags they need in order to bypass crontab; it looks like the run_WE2E_tests.sh script already has the |
|
@mark-a-potts Would it be possible to make it work in batches, say 8 tests simultaneously? I am afraid sequential execution will take forever. |
|
@danielabdi-noaa I don't think that's necessary for a quick interim solution as I work on a more complete end-to-end python rewrite. It takes on the order of 10 seconds to process each directory on Hera. While it will be strictly slower (due to rocotorun only being parsed every 10*numtests seconds vs every 2 minutes with current crontab solution) it shouldn't severely limit the speed of tests, since the batch jobs run independently of this script once submitted. I haven't done a direct comparison but I am currently running a full comprehensive suite of tests on Hera and can report back on the full time it takes for the whole suite of tests to complete. |
|
@mkavulich Ok I understand. I misunderstood the comments to mean each test case run sequentially, when it is really lauching them sequentially with some delay introduced. Hopefully that would be enough to solve issue on Cheyenne. |
|
For the record, here is the timing information from my Hera comprehensive test: |
|
@mark-a-potts Is this still a work-in-progress? It looks to me like it is ready aside from documentation (I'm willing to help with that if you're too busy). |
|
I think it could be ready to merge if the documentation is updated. It shouldn't run unless somebody explicitly requests it when launching the run_WE2E_test.sh script. |
- When on Cheyenne, set use_cron_to_relaunch=false - When use_cron_to_relaunch=false, output a message at the end of the script describing how to run the new run_srw_tests.py script to manage the tests - Regardless of other variables, print a message at the end of the script showing the user where the test directory is
|
@mark-a-potts I don't have permissions to push to that branch directly, so I opened a PR here with some end-to-end test script updates to go along with the new script: NOAA-EPIC#4 |
Modify run_WE2E_tests.sh
|
Since the documentation has been brought into this PR, I will remove the Work in Progress label. |
MichaelLueken
left a comment
There was a problem hiding this comment.
Since the use_cron_to_relaunch is set to FALSE for Cheyenne, should we go ahead and remove Cheyenne from .cicd/Jenkinsfile temporarily? Or should logic be added to the .cicd/scripts/srw_test.sh script so that Cheyenne will call the new ush/run_srw_tests.py script instead of using cron and not use the get_expts_status.sh?
mkavulich
left a comment
There was a problem hiding this comment.
I have tested this latest version of the WE2E tests (fundamental) on Cheyenne and Hera (with and without the use_cron_to_relaunch option) and got the expected output and results.
|
For those interested, this is what the ./run_WE2E_tests.sh script now outputs after creating all experiment directories on Cheyenne (or any other platform if you manually set |
danielabdi-noaa
left a comment
There was a problem hiding this comment.
Looks good to me.
|
@mark-a-potts @mkavulich Since the Jenkins tests use the crontab to run, should Cheyenne temporarily be removed from the |
|
I think we should add logic to use the new script with Jenkins. |
|
@mark-a-potts Are you able to do that? I am not familiar enough with the Jenkins testing to feel comfortable making that addition (plus I do not think I have permissions to kick off that testing). |
|
@mark-a-potts @mkavulich I think I might be able to do this. However, the new |
|
@mark-a-potts I have created NOAA-EPIC#5 to allow the |
Updated .cicd/scripts/srw_test.sh to work with ush/run_srw_tests.py
MichaelLueken
left a comment
There was a problem hiding this comment.
The Jenkins tests successfully passed with these updates. Everything looks good to me and I am now approving this work.
DESCRIPTION OF CHANGES:
Type of change
TESTS CONDUCTED:
DOCUMENTATION:
ISSUE:
CHECKLIST
LABELS (optional):
A Code Manager needs to add the following labels to this PR:
CONTRIBUTORS (optional):