-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jenkins: Performance data upload from Compy, Cori #25
Conversation
This script facilitates automatic data upload from Compy's performance archive into PACE. It requires the Jenkins user to run this manually the first time to use the Github credentials to create an authorized token for later uploads automatically. It stores the token information in $HOME/.pacecc. It does not require cloning of E3SM sources or builds. It moves certain files from the machine's PERF_ARCHIVE_DIR to the older (OLD_PERF_ARCHIVE_DIR) after data is processed. It deletes very large files (>50MB) that are not meant to be placed in the performance archive by design.
As this tool doesn't need E3SM sources/builds, think if it needs all of the standard boilerplate initialization that's used for running E3SM tests. As mentioned, it requires manual intervention the first time it's run by the Jenkins user to create a Github token and automates future uploads. General info: |
How do I designate a file to be uploaded into dashboard from Jenkins? In this case, I want the pace log file to be easily accessible from there. |
Relevant excerpt from running standalone script:
|
You want jenkins to run your script, and this will upload a file to the E3SM CDash project? If this is correct, in which section of CDash will your file appear? None of the existing sections seem to be a good fit. The CDash is for testing results. Is there a better place for the file to land than CDash? |
I think a new Cdash section for PACE might not be a bad idea. We will have an uploader for each major platform and I foresee nightly uploads. The machine POCs would be responsible for checking the logs, so would probably be better to add to Cdash rather than something else. |
Can we just make a new cdash dashboard? I want the E3SM one to focus just on E3SM tests. |
@rljacob These are just nightly upload tasks, not really tests. It seems like an overkill to create an entire dashboard for a handful of tasks (compy, cori, anvil, alcf) but if you really want them separate, we can. For now, let's get the Jenkins tasks there without the dashboard stuff. If this script design looks ok, I will template the other platform scripts based on this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can remove all the manual error checking.
The common functionality for PACE archiving is moved into util/pace_archive.sh which is sourced from the machine specific Jenkins scripts.
Switch Python2/3 variant of pace-upload script based on env variable. Aids in using common template across a bunch of machines.
This script adds support for performance data upload to PACE. It uses the default system Python 3 installation.
I have refactored the common core to a utility script (pace_archive.sh) for reuse on different platforms beginning with Compy and Cori. The first time this script is run, it stores following details in Jenkins user's $HOME/.pacecc:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
This script facilitates automatic data upload from Compy's
performance archive into PACE.
It requires the Jenkins user to run this manually the first time
to use the Github credentials to create an authorized token for
later uploads automatically.
It stores the token information in $HOME/.pacecc.
It does not require cloning of E3SM sources or builds.
It moves certain files from the machine's PERF_ARCHIVE_DIR to the
older (OLD_PERF_ARCHIVE_DIR) after data is processed.
It deletes very large files (>50MB) that are not meant to be placed in the
performance archive by design.
Testing:
Successfully uploaded performance data from Compy by commenting out the boilerplate initialization.
#source $SCRIPTROOT/util/setup_common.sh
I didn't load any Python module, system Python was sufficient. In case of Python environment issues, just unload any custom Python envs.