-
Notifications
You must be signed in to change notification settings - Fork 291
fix(runners): import B300 container images on the login host #2893
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -76,13 +76,7 @@ set -x | |
| # | ||
| # Import a container image into the shared squash dir. Concurrent callers target the | ||
| # same path, so serialize on a per-file lock and skip when a valid squash file exists. | ||
| # --time bounds the step; an unbounded srun hangs the job if its step is lost. | ||
| # | ||
| # The import itself must run on a compute node: enroot builds the squashfs over an | ||
| # overlay mount, which the shared filesystem cannot back, and the login host is too | ||
| # small to unpack a multi-GB image. Reading the finished file is just I/O, so probe | ||
| # it here first -- a warm cache then costs no Slurm allocation at all. The in-srun | ||
| # check under the lock stays authoritative, so a stale probe only costs one step. | ||
| # Run the import locally on the runner/login host using its Enroot configuration. | ||
| import_squash_image() { | ||
| local image_ref="$1" | ||
| local sqsh="$2" | ||
|
|
@@ -93,8 +87,7 @@ import_squash_image() { | |
| return 0 | ||
| fi | ||
|
|
||
| srun -N 1 -A "$SLURM_ACCOUNT" -p "$SLURM_PARTITION" \ | ||
| --time="${ENROOT_IMPORT_TIME_LIMIT:-120}" bash -c " | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Login-host imports can exhaust resourcesHigh Severity Cold Reviewed by Cursor Bugbot for commit fffdaa1. Configure here. |
||
| bash -c " | ||
| set -euo pipefail | ||
| exec 9>\"$lock\" | ||
| flock -w 3600 9 | ||
|
|
||


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.
Import timeout no longer enforced
Medium Severity
Replacing
srun --timewith unboundedbash -cdrops the import deadline. A stalledenroot importnow holds the per-image lock indefinitely, and other runners wait onflockfor an hour before failing while the hung import keeps the login-host runner busy.Reviewed by Cursor Bugbot for commit fffdaa1. Configure here.