Developing an Open OnDemand App
Tutorial
The user can try a tutorial, e.g. 2. Copy Jupyter App — Open OnDemand 3.1.0 documentation
to become familiar with the sandbox environment and the steps to clone an app from a repo.
https://openondemand.org/run-open-ondemand#enabled-applications is a catalogue of OOD apps available.
Developing an app
Developing an app can be done on either on OOD web interface OR develop it on Github/Gitlab first and then clone it as per Adding an existing Github/lab repo. We recommend latter for better tracking and transparency over building it directly via the interface.
Github vs Gitlab
We have started building few staging apps on https://gitlab.com/nesi1 but attempts to clone it to OOD interface failed ( time outs,etc)
Therefore, switched to Github ( New Zealand eScience Infrastructure public repo) which we think is a better choice anyway as it will allow us to get assistance from OOD community when needed. Also, app configs don’t have any sensitive information in general which eliminates it’s requirement to be on https://gitlab.com/nesi1 private group. Having said that, if there are any cluster specific configs which should not be in public domain, build the app in https://gitlab.com/nesi1 ( we can’t host private repositories on NeSI GH) and we can try to sort of the issues related to cloning
Naming convention for a Repo OR a branch
Repository name: It should be
clustername-ood-appname-app
ORmachinename-ood-appname-app
ORservicename-ood-appname-app
. For an example, RStudio app for eRI iseri-ood-rstudio-server-app
and for Mahuikamahuika-ood-rstuido-server-app
. ( Refer to GitHub - nesi/eri-ood-rstudio-server-app: (Beta) OOD RStudio-server for app for eRI )Branch name : If the repository is a template for all clusters/machines and we need separate branches for cluster/machine specific configs , name the branch after the cluster/machine/service name
One off
ssh key
required for users when creating 1st app.
Adding from an existing Github/lab repo
App Logs
From the list of active/recent app, click the Session ID: hyperlink
Select output.log
and then your options from the dropdown
or via ssh ondemand
/home/agresearch.co.nz/bixleym/ondemand/data/sys/dashboard/batch_connect/dev/<APP NAME>/output/cce0975c-cee7-40bf-8874-c6f7e6a0d37b/output.log
Delete an existing App