For our slurm cluster, we do not share home directories on the cluster nodes. We have dedicated NFS storage allocated for each individual project.
In this case a project will have multiple users, and a user could in theory be a member of multiple projects. A group name in Active Directory would be something like cluster_projA or cluster_projB
We’ve updated /etc/ood/config/apps/dashboard/initializers/ood.rb to have the list of shares available to the user like this:
OodFilesApp.candidate_favorite_paths.tap do |paths|
projects = User.new.groups.map(&:name).grep(/^cluster_/)
Remap the returned user groups and drop the cluster_ heading
proj2 = projects.map { |p| p.gsub(“cluster_”,"") }
paths.concat proj2.map { |p| Pathname.new("/projectarea/#{p}") }
paths << Pathname.new("/projectarea/global")
end
So, when look in the file browser, all of my project areas are there. This works fine.
For the job composer, it would be nice if I could select between the projects, or maybe something like use the file browser to submit a job, but that doesn’t seem possible, so I’m looking at setting OOD_DATAROOT in /etc/ood/config/apps/myjobs.
I assume that I can write some bash function to get the project name cut down and a path set for the composer to look in /projectarea/projA, but there would be no way for me to change that and use projB.
Does that description of what I’d like to do make sense?
Can the data root be set in a job submission template? If I have maybe a projA and projB template, can it not use $HOME, or a custom OOD_DATAROOT?
Thanks. Let me know if I can clarify anything.