-
Notifications
You must be signed in to change notification settings - Fork 1
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
Restrict ebuser and let it submit jobs #58
base: main
Are you sure you want to change the base?
Conversation
This restricts the use of `sudo -iu ebuser eb ...` to only work on login nodes and let it submit jobs. For non-system easyconfigs it will submit a job for both avx2 and avx512, so the automatic recompilation is no longer necessary.
Converted to draft, since it probably needs some refinement in case one of the builds fail, to select either avx2 or avx512 manually. |
if [[ $argument =~ --inject-checksums* || $argument =~ --robot* || "$argument" == "-r" ]]; then | ||
if [[ "$CURRENT_USER" == "ebuser" ]]; then | ||
if ! [[ $(hostname) =~ ^login..archimedes.c3.ca$ ]]; then | ||
echo "Please only submit as ebuser on login nodes" |
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.
why restrict it to login node only ?
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.
do you want compute node sessions to send recursive jobs?
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.
I would say the following is valid workflow:
- salloc to get a dedicated node
- eb as myself to test and develop
- sudo ebuser eb
i.e. to use compute nodes as development nodes
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.
but for 3. should it spin off a job to a second compute node or stay on that node? Compile for both avx2 and avx512 or avx2 only?
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.
I would say it should behave just as if it was done on the login node, i.e. launch a new job and build for both avx2 and avx512
exec $EB --configfiles=$LOCAL_EASYBUILD_CONFIGFILES "${NEW_ARGS[@]}" | ||
cd /cvmfs/local/var/log | ||
$EB --fetch --configfiles=$LOCAL_EASYBUILD_CONFIGFILES "${NEW_ARGS[@]}" | ||
export RSNT_ARCH=avx2 |
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.
This essentially forbids building for avx or sse3. Even though we don't do it often, I don't think it should be forbidden ?
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.
good point, we need to allow that
This restricts the use of
sudo -iu ebuser eb ...
to only work on login nodes and let it submit jobs. For non-system easyconfigs it will submit a job for both avx2 and avx512, so the automatic recompilation is no longer necessary.