From 172de7fddd8ae4375608e4dd2a6fb411dae1d87f Mon Sep 17 00:00:00 2001 From: Cedric Clerget Date: Thu, 24 Aug 2017 10:25:38 +0200 Subject: [PATCH 1/2] Add autofs bug path documentation and troubleshooting --- pages/docs/admin-docs/advanced-config.md | 2 ++ pages/docs/overview/faq.md | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/pages/docs/admin-docs/advanced-config.md b/pages/docs/admin-docs/advanced-config.md index 0849ccf..1adc524 100644 --- a/pages/docs/admin-docs/advanced-config.md +++ b/pages/docs/admin-docs/advanced-config.md @@ -48,6 +48,8 @@ In addition to the system bind points as specified within this configuration fil Singularity will automatically disable this feature if the host does not support the prctl option `PR_SET_NO_NEW_PRIVS`. In addition, `enable overlay` must be set to `yes` and the host system must support overlayFS (generally kernel versions 3.18 and later) for users to bind host directories to bind points that do not already exist in the container. +### AUTOFS BUG PATH (string) +With some autofs version, Singularity fails to run with "Too many levels of symbolic links" error when specified bind path (via configuration file or command line argument -B) are located in an autofs mount point. With this directive you can specify any number of autofs mount points generating errors. ## Logging In order to facilitate monitoring and auditing, Singularity will syslog() every action and error that takes place to the `LOCAL0` syslog facility. You can define what to do with those logs in your syslog configuration. diff --git a/pages/docs/overview/faq.md b/pages/docs/overview/faq.md index b656f6e..cc67e3e 100644 --- a/pages/docs/overview/faq.md +++ b/pages/docs/overview/faq.md @@ -328,4 +328,19 @@ To add /usr/local/bin to the default sudo search path, run the program visudo wh ```bash Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin ``` + +### How to resolve "Too many levels of symbolic links" error +Running singularity failed with "Too many levels of symbolic links" error + +```bash +$ singularity run -B /apps container.img +ERROR : There was an error binding the path /apps: Too many levels of symbolic links +ABORT : Retval = 255 +``` + +You got this error because /apps directory is an autofs mount point. You can fix it by editing singularity.conf and adding the following directive with corresponding path: +```bash +autofs bug path = /apps +``` + {% include links.html %} From df2630bc9c687ac3093f8363efa92d7b80f16ec3 Mon Sep 17 00:00:00 2001 From: Cedric Clerget Date: Thu, 24 Aug 2017 15:30:49 +0200 Subject: [PATCH 2/2] Better help message, thanks @vsoch --- pages/docs/admin-docs/advanced-config.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pages/docs/admin-docs/advanced-config.md b/pages/docs/admin-docs/advanced-config.md index 1adc524..d3139a3 100644 --- a/pages/docs/admin-docs/advanced-config.md +++ b/pages/docs/admin-docs/advanced-config.md @@ -49,7 +49,10 @@ In addition to the system bind points as specified within this configuration fil Singularity will automatically disable this feature if the host does not support the prctl option `PR_SET_NO_NEW_PRIVS`. In addition, `enable overlay` must be set to `yes` and the host system must support overlayFS (generally kernel versions 3.18 and later) for users to bind host directories to bind points that do not already exist in the container. ### AUTOFS BUG PATH (string) -With some autofs version, Singularity fails to run with "Too many levels of symbolic links" error when specified bind path (via configuration file or command line argument -B) are located in an autofs mount point. With this directive you can specify any number of autofs mount points generating errors. +With some versions of autofs, Singularity will fail to run with a "Too many levels of symbolic links" error. This error happens by way of a user requested bind (done with -B/--bind) or one specified via the configuration file. To handle this, you will want to specify those paths using this directive. For example: +```bash +autofs bug path = /share/PI +``` ## Logging In order to facilitate monitoring and auditing, Singularity will syslog() every action and error that takes place to the `LOCAL0` syslog facility. You can define what to do with those logs in your syslog configuration.