Search Docs by Keyword

Table of Contents

Developing your own app using Open OnDemand

FASRC provides applications on Open OnDemand based on software usage/user requests.
If you want to create your own Open OnDemand app, you can! OnDemand provides a way to develop OOD apps in a sandbox development environment. You’ll need to enable this environment before you can begin testing applications.

To enable your development environment:

  1. Get to a shell interface: you could SSH to a login node, or connect to Open OnDemand on your cluster and use the Clusters menu item to get shell access, or start a Remote Desktop session and use the Terminal Emulator.
  2. Create the dev directory
    1. Cannon: mkdir $HOME/.fasrcood/dev
    2. FASSE: mkdir $HOME/.fasseood/dev
  3. This will make the Develop menu item appear in the upper right when you view the Open OnDemand interface
  4. Now you can access your sandbox development environment: either click on the item in the Develop menu in the dashboard, or navigate in the shell to $HOME/.fasrcood/dev, create an app folder in there and start your development.                                     

Once your dev path is created, you can start working on applications there.

To get started, FASRC has some example apps, which (at time of writing) run on the Cannon cluster without any modification needed.

Remote Desktop
SAS
Matlab
RStudio
Jupyter

Have a look at these to get a sense of how the app repositories are structured and how they refer to resources.
SAS and Matlab run within a Remote Desktop session, while RStudio and Jupyter use Singularity containers.

For examples of additional apps, OSC provides links to applications that are implemented in Open OnDemand there and at other contributing institutions: https://osc.github.io/ood-documentation/latest/install-ihpc-apps.html

To get a copy of an application to work with, navigate to your dev folder, then clone the Github repo of the app.
cd $HOME/.fasrcood/dev
git clone https://github.com/fasrc/ood-rstudio-rocker

The new app will appear when you go to the menu item Develop->My Sandbox Apps (Development).

If you’re on the FASSE cluster and want to be able to run your app, you’ll want to update form.yml to use
cluster: "fasse"
and
bc_queue:
 value: "fasse"
or another appropriate partition: https://docs.rc.fas.harvard.edu/kb/fasse/#SLURM_and_Partitions

As an example of additional ways to specify container locations:
A previous version of the RStudio app listed the Singularity container location directly in the script file.
https://github.com/fasrc/fas-ondemand-rstudio/blob/master/template/script.sh.erb
This lists a location for the Singularity images that is not accessible on the Cannon or FASSE cluster. You will need to update the location to use the path for the directory of the container you have created.

Feel free to reach out to rchelp@rc.fas.harvard.edu or visit our office hours to help deploy a container or answer further questions.

 

© The President and Fellows of Harvard College
Except where otherwise noted, this content is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.