As identified in the issue description, the cvmfs_helper_funcs.sh contains a utility has_unpriv_userns that can be used to fetch information whether unprivileged user namespaces are (1) supported and (2) enabled on the worker node. This utility internally uses the variables GWMS_IS_UNPRIV_USERNS_SUPPORTED and GWMS_IS_UNPRIV_USERNS_ENABLED. The utility returns one of four values:
enabled: unprivileged user namespaces is supported and enabled on the worker node
disabled: unprivileged user namespaces is supported but not enabled on the worker node
unavailable: unprivileged user namespaces is neither supported nor enabled on the worker node
error: unprivileged user namespaces is not supported but enabled on the worker node
It is this value that gets advertized to the glidein classad and can be accessed using HAS_UNPRIVILEGED_USER_NAMESPACES attribute.
As an example, if the worker node supports unprivileged user namespaces and has unprivileged user namespaces enabled, the glidein classad on the client should show:
Fixes #371
As identified in the issue description, the
cvmfs_helper_funcs.sh
contains a utilityhas_unpriv_userns
that can be used to fetch information whether unprivileged user namespaces are (1) supported and (2) enabled on the worker node. This utility internally uses the variablesGWMS_IS_UNPRIV_USERNS_SUPPORTED
andGWMS_IS_UNPRIV_USERNS_ENABLED
. The utility returns one of four values:enabled
: unprivileged user namespaces is supported and enabled on the worker nodedisabled
: unprivileged user namespaces is supported but not enabled on the worker nodeunavailable
: unprivileged user namespaces is neither supported nor enabled on the worker nodeerror
: unprivileged user namespaces is not supported but enabled on the worker nodeIt is this value that gets advertized to the glidein classad and can be accessed using
HAS_UNPRIVILEGED_USER_NAMESPACES
attribute.As an example, if the worker node supports unprivileged user namespaces and has unprivileged user namespaces enabled, the glidein classad on the client should show:
Additionally, the same variable is also exported to the user job environment (with the same name
HAS_UNPRIVILEGED_USER_NAMESPACES
).