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!)