Open OnDemand with VM infrastructure

Greetings,
Is there an example of tying Open OnDemand with a virtual machine environment such as VMware, oVirt, RHEVM, OpenStack? We utilize batch connect for our compute environment; however, we would really like to utilize our RHEVM environment for virtual desktops.

There are two integration models for OnDemand and VMs that we have been considering at the moment:

  1. Use a VM as an optional “cluster” to submit batch connect “jobs” to in order to do interactive work, such as utilizing Jupyter or RStudio for a short period of time, measured in hours.
  2. Use OnDemand interactive app interface as a way to provision, start up, shut down, and eventually destroy VM images, where the management of the VM might last over a long period of time such as the whole semester for a class

Which is the model you are primarily interested in? Do you have other models in mind?

The first has been done before by a site using Slurm and their cloud bursting feature with AWS.

We are also looking at possibilities for interfacing directly with cloud environments like OpenStack or AWS and container orchestration like Kubernetes for interactive work, but that is still a work in progress.

1 Like

What we did in the end was the following. We created an app that is similar to the SSH app that comes with OOD. This custom app calls various backend scripts that is written with ovirt4 python sdk. Using cloud-init within the VM image we can setup websockify and the vncserver. We can then connect to that VM using noVNC through the browser. The upside is that this works and we can load balance user VMs with migration policies. The downside is, it is not plugged into any of the OOD templates and in fact is basically a stand alone app at this point.

Did you mean installation of OnDemand in something like Vagrant? There are a few repos that have those examples, and I assume you would need to customize for your cluster:

For how to integrate into some VM manager, likely you’d want to ask on their repository directly, and (even better) direct them to this issue to answer.

Just to followup on this, for anyone looking for more information about Open OnDemand, our website is http://openondemand.org/

We also have a very active discussion board at https://discourse.osc.edu/c/open-ondemand

We run ood on a vm and use it to jumpstart people on our cluster. The scripts are submitted from the ood vm via slurm and run on our metal compute nodes. We’ve had pretty good luck with it so far. Our power users use the cli though.