-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Description
Some commands fail with:
mkdir: cannot create directory ‘/nextstrain/env.d’: Operation not supported
This happens on latest nextstrain/base:build-20250708T012131Z, but still works with nextstrain/base:build-20240130T210714Z from nextstrain/cli#360 (comment).
I bisected other runtime versions to find that build-20250226T202705Z works but build-20250304T041009Z does not. This points to #241 as introducing breaking changes.
Scope
nextstrain version --verbosenextstsrain build
nextstrain shell is not affected.
How to reproduce
Steps to reproduce the current behavior:
-
Connect to
rhino -
Run
nextstrain version --verbose -
See error:
singularity (default) docker://nextstrain/base:build-20250708T012131Z (/home/vlin/.nextstrain/runtimes/singularity/images/nextstrain/base/build-20250708T012131Z.sif) mkdir: cannot create directory ‘/nextstrain/env.d’: Operation not supported
Additional context
Here is the output of nextstrain shell . -c "ls -al /nextstrain" with Docker:
drwxrwxrwt 1 nextstrain nextstrain 4096 Jul 15 19:07 .
drwxr-xr-x 1 root root 4096 Jul 15 19:07 ..
drwxr-xr-x 1 nextstrain nextstrain 4096 Jul 8 01:39 augur
drwxr-xr-x 14 nextstrain nextstrain 4096 Jul 8 01:23 auspice
-rw-r--r-- 1 501 dialout 1243 Jul 15 19:07 bash_history
drwxr-xr-x 13 501 dialout 416 Jul 14 23:44 build
-rw-rw-rw- 1 nextstrain nextstrain 25 Jul 8 01:42 config
drwx------ 2 501 dialout 64 Jul 15 2025 env.d
drwxr-xr-x 11 nextstrain nextstrain 4096 Jul 8 01:27 fauna
and with Singularity:
drwxr-xr-x 1 vlin g_vlin 60 Jul 15 12:07 .
drwxr-xr-x 1 vlin g_vlin 60 Jul 15 12:07 ..
drwxr-xr-x 11 root root 646 Jul 7 18:26 augur
drwxr-xr-x 14 root root 798 Jul 7 18:23 auspice
-rw-rw---- 1 vlin g_vlin 50 Jul 15 12:07 bash_history
drwxrwx--- 7 vlin g_vlin 232 Jul 15 10:50 build
-rw-rw-rw- 1 root root 25 Jul 7 18:41 config
drwxrwx--- 2 vlin g_vlin 40 Jul 15 12:07 env.d
drwxr-xr-x 11 root root 427 Jul 7 18:26 fauna
It looks like permissions configured for /nextstrain are overridden by permissions on the host machine since that directory is mounted. This may have broader implications for specific commands run inside the image.
Possible solution
Reconfigure permissions / directory creation to work with Singularity.