-
Notifications
You must be signed in to change notification settings - Fork 94
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
job.sh improvement for creating share and work directories? #5567
Comments
Thinking about this, I had a suggestion. Any suggestions in the original were based on knowledge of Cylc7 only. A way to do this nicely in Cylc8 would be (making some assumptions).
This way it doesn't have the extra i/o of readlink, and still is just one mkdir, but instead of going via symlinks, its the actual path which is known as its in the global.cylc file now instead of managed via an external tool, Does that make sense as an idea? |
I think I missed this one when original posted, sorry.
Yeah, same.
We'll need to think this through! Agreed needs a solution though... one for next project meeting, mid-Feb, if not before. |
Thanks. I don't really like the idea of the |
Problem
In Cylc (both 7 and 8) job.sh scripts, the
mkdir
commands for theshare
andwork
directories (I'm not sure whereshare/cycle
is created) assume the directory is not a symbolic link.Not so hypothetically, assume there are two lustre disks on the HPC, a production one and a failover disk. Like below.
Let's say
CYLC_TASK_WORK_DIR -> /g/sc/production_disk/cylc-run/my_workflow/work
.Then, let's say a disk failover happens, so now
Cylc job.sh will fail to create these directories, and things will assume they exist.
This can lead to failures if the directories don't exist.
Proposed Solution
Be a bit more defensive and do
mkdir
on where that disk is pointing at.Similar for any directory creation for directories that could be symbolic links as defined by the
global.cylc[install][symlink dirs]
area.ps. whilst here, I don't quite get the need for two mkdir here
Based on the options, neither of those two should be symbolic links, so you should just be able to have the latter one and ditch the
dirname "$CYLC_TASK_WORK_DIR"
I think.The text was updated successfully, but these errors were encountered: