Using the Sylabs Builder tool
Synopsis
Sylabs now provides a builder tool which allows users to create singularity images without need for root. This tool is free with a few caveats
Users must create an account with Sylabs (this is free)
Final image size cannot be larger than 11GB once completed
You will need a few extra steps/commands to enable the builder tool.
Creating an account
Go to https://cloud.sylabs.io/builder and click Sign In
You will have a number of choices for how to sign in (Google with your ASURITE is the easiest in most cases)
Create a unique username
Your account is created!
Create a cloud key
Still on the Sylabs web page, click on your username at the top right, then “Access Tokens”
It will ask for an alias for the token. This can be anything, but should be something that helps you identify what system it is for in the future, such as “asu_agave”.
After you submit you will get a screen of jumbled letters and numbers.
SAVE THIS TOKEN OR DO NOT NAVIGATE AWAY
You will need it for future reference in this guide.
Adding your token to your account on Agave
Log into Agave using your favorite method and open a terminal window
Start an interactive session
interactive -n 12 -p debug -q wildfire -t 00:15:00
Once you are connected to a node and have your prompt back, load singularity (Versions may change)
module load singularity/3.8.0
Once you get the prompt back type in
singularity remote login
If the last step gives you an error of:
“ FATAL: Failed to retrieve information for /home/USER/.singularity: stat /home/USER/.singularity: no such file or directory”
simply type at the prompt:
mkdir .singularity
(note the period before singularity)
then run the “singularity remote login” command again
This will prompt you for the token we got earlier on the web page (we saved that right?). Copy and paste in the token. Don’t worry if nothing shows on the screen, the system is listening but not displaying the token. If it is successful you should have a prompt like this:
Using the Sylabs cloud to build
The below steps do not require a compute node and may be run from the login nodes as they are not processor intensive.
Build your recipe as you would in the https://asurc.atlassian.net/wiki/spaces/RC/pages/54099969 Confluence doc, but add the --remote flag
Once it is done building the file, it will provide you a URL which you can download the image from.
You can copy and paste this link into a web browser to https://asurc.atlassian.net/wiki/spaces/RC/pages/67600478 later, or you can use get to grab the file directly.
CONGRATS! You now have a singularity image file ready to use on the supercomputer (don’t forget to run it on compute nodes though!)