Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Setup ( one-off)

A sandbox directory must be provisioned to enable app development in Open OnDemand (OOD).
First, we need to allow the user to create sandbox apps by creating a symlink to point to the homedir:

sudo mkdir -p /var/www/ood/apps/dev/<USERNAME>
cd /var/www/ood/apps/dev/<USERNAME>
sudo ln -s /home/<USERNAME>/ondemand/dev gateway

User using <NAME>@agreserch.co.nz would use

sudo ln -s /home/agresearch.co.nz/<NAME>/ondemand/dev gateway

Once complete, the enabled user can try a tutorial, e.g. https://osc.github.io/ood-documentation/latest/tutorials/tutorials-interactive-apps/add-jupyter/copy-app.html 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.

When accessing https://ondemand.eri.agresearch.co.nz via the default, it uses an Azure Application proxy that doesn’t allow all cookies to pass through! A known issue is that the WebSocket connects are breaking.

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 Step 3 under Adding an existing Github/lab repo. We recommend latter for better tracking and transparency over building it directly via the interface.

  1. 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 ( https://github.com/nesi 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

  2. Naming convention for a Repo OR a branch

    • Repository name: It should be clustername-ood-appname-app OR machinename-ood-appname-app OR servicename-ood-appname-app . For an example, RStudio app for eRI is eri-ood-rstudio-server-app and for Mahuika mahuika-ood-rstuido-server-app. ( Refer to https://github.com/nesi/eri-ood-rstudio-server-app )

    • 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

  3. One off ssh key required for users when creating 1st app.

image-20240705-014232.png


Adding from an existing Github/lab repo

NeSI_GA training summary_2.png

App Logs

From the list of active/recent app, click the Session ID: hyperlink

image-20240705-011817.png

Select output.log and then your options from the dropdown

image-20240705-012412.png

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

image-20240705-014232.png

Delete an existing App

NeSI_GA training summary_2 (1).png

  • No labels