We are using xpra (https://xpra.org/) together with VirtualGL (https://www.virtualgl.org/) on our virtualized OpenStack based SLURM cluster to support OpenGL accelerated applications such as MorphoGraphX (https://morphographx.org/) for our users.

This works pretty well.
There was a bit of work involved because it requires an X11 server to run on the compute nodes but once this was done it worked fairly well.

 

Best

Ümit

 

 

On 02.06.22, 01:10, "Andy Botting" <andy@andybotting.com> wrote:

Hi Rados³aw,

 

> I am wondering if and how OpenStackers are approaching the subject of

> VDI (Virtual Desktop Infrastructure), also nowadays commonly called

> DaaS (Desktop as a Service) offering.

> To be more specific, I am looking forward to a solution covering both

> Linux and Windows desktops, pre-OS screen access optional,

> well-integrated (i.e., having automation) with OpenStack Nova,

> preferably also with Cinder and Glance, optionally with Keystone

> (apart from self-auth of course!) and Heat, 3D acceleration optional

> (most of the desktops here don't need it), nice to have read-only

> sharing of screen.

 

We just launched a service like this on the Nectar Research Cloud.

Like you, I looked around but couldn't find any Open Source projects

that would be suitable.

 

In the end, we based ours on a project from the University of

Melbourne that did initially support Windows, but we removed some of

that support to simplify our codebase as we didn't need it.

 

We called it Bumblebee, and the code is here:

https://github.com/NeCTAR-RC/bumblebee

 

It's a Django web app with a Redis-based task scheduler that launches

Nova instances, booted from a Cinder volume, cloned from a base OS

image.

 

The Django app directly modifies Guacamole's database to create the

connections once the OpenStack resources have been provisioned and

provides the user with a link that takes them to their desktop.

 

We used Keycloak with OIDC for authentication on the web app and

Guacamole and it's fairly seamless transitioning between the two.

 

We did initially look at using Heat, but we wanted to support a

workflow of being able to destroy the VM and archive the OS image to

Swift (and restore again later if needed) so it was easier to just

manage the resources directly.

 

There's no 3D acceleration in our solution yet, but we're planning on

looking at things like virtual GPUs later on.

 

Sadly, I'm not going to make it to Berlin either, but I was thinking

it might make for a good talk at the next summit.

 

I'm in the process of properly documenting it now, so I don't have

much to share at this point, but I'm happy to go into more detail

about anything.

 

cheers,

Andy