Cannot load Singularity


#1

I was following the docs on using Singularity.

The command alces customize apply feature/configure-singularity seems working but it prints No start hooks found in ... at the end.

... (too long, please tell me if you need full log)
test -f /opt/apps/singularity/libexec/singularity/sexec-suid && rm -f /opt/apps/singularity/libexec/singularity/sexec-suid || :
test -f /opt/apps/singularity/libexec/singularity/bin/copy-suid && rm -f /opt/apps/singularity/libexec/singularity/bin/copy-suid || :
make[3]: Leaving directory `/tmp/singularity-2.4'
make[2]: Leaving directory `/tmp/singularity-2.4'
make[1]: Leaving directory `/tmp/singularity-2.4'
************************************

Installation complete. A modulefile has been installed for
using Singularity. To enable it run:

    alces module load apps/singularity/2.4

Once enabled you can then use Singularity by running:

    singularity --help

************************************

No start hooks found in /opt/clusterware/var/lib/customizer/feature-configure-singularity
No node-started hooks found in /opt/clusterware/var/lib/customizer/feature-configure-singularity
No member-join hooks found in /opt/clusterware/var/lib/customizer/feature-configure-singularity
No member-join hooks found in /opt/clusterware/var/lib/customizer/feature-configure-singularity

Then, I cannot load singularity:

[alces@login1(AWSMPPersonalHPCcomputecluster) ~]$ alces module load apps/singularity/2.4
ModuleCmd_Load.c(208):ERROR:105: Unable to locate a modulefile for 'apps/singularity/2.4'

However, there does exist a folder /opt/apps/singularity/:

[alces@login1(AWSMPPersonalHPCcomputecluster) bin]$ pwd
/opt/apps/singularity/bin
[alces@login1(AWSMPPersonalHPCcomputecluster) bin]$ ls
run-singularity  singularity

And I can actually “run” this binary manually

[alces@login1(AWSMPPersonalHPCcomputecluster) bin]$ sudo ./singularity  pull shub://vsoch/hello-world
Progress |===================================| 100.0%
Done. Container is at: /opt/apps/singularity/bin/vsoch-hello-world-master.simg

So this indicates some issues in module management, not in Singularity installation. I am just following the standard setup steps on AWS, with almost all default options in CloudFormation. Please tell me if you need further platform information.

I think Singularity support would be a killer-feature for cloud-HPC… I am curious if this feature is robust enough in alcesflight (i.e. I can use it for day-to-day work? Or it is still experimental?).


#2

Hi @JiaweiZhuang,

The No start hooks found and other messages about hooks are nothing to worry about and are informational only.

In this case, you’re unable to load the apps/singularity module as it is the first module to be added to the /opt/apps/etc/modules directory and so is not in your MODULEPATH by default. If you logout and login again, you should be able to load the module without a problem. Alternatively, running alces module use /opt/apps/etc/modules within your existing session will give you access to it without having to login again.

If you specify configure-singularity as a feature profile (“Additional features to enable”) when launching your cluster through CloudFormation (rather than manually at the command line) then Singularity will be ready to load and work with as soon as you log in.

We do too! Singularity support is being used daily by other users of Flight Compute and is robust for day-to-day work.

HTH!


#3

Thanks very much! I can load singularity now.

Just FYI, I found an Singularity issue with pulling Docker images to EC2. This affects basic EC2 servers as well as alcesflight cluster. To address that issue, it might make sense to make sregistry as part of the singularity module.


#4

Thanks for the sregistry tip! I’ll make sure this is fed this back to the engineering team. :wrench: