On Thu, 2 Jun 2022 at 01:10, Andy Botting <andy@andybotting.com> wrote:
Hi Radosław,
Hi Andy,
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.
First of all, wow, that looks very interesting and in fact very much what I'm looking for. As I mentioned in the original message, the things this solution lacks are not something blocking for me. Regarding the approach to Guacamole, I know that it's preferable to have guacamole extension (that provides the dynamic inventory) developed rather than meddle with the internal database but I guess it is a good start.
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.
Yeah, that's not a problem at all for me, the reasoning is sensible.
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.
Regarding this, I agree with Julia. I think OpenInfra Live would benefit from a VDI/DaaS-oriented session.
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.
Any "quickstart setting up" would be awesome to have at this stage. As this is a Django app, I think I should be able to figure out the bits and bolts to get it up and running in some shape but obviously it will impede wider adoption. On the note of adoption, if I find it usable, I can provide support for it in Kolla [1] and help grow the project's adoption this way. Also, since this is OpenStack-centric, maybe you could consider migrating to OpenDev at some point to collaborate with interested parties using a common system? Just food for thought at the moment. Kind regards, -yoctozepto [1] https://docs.openstack.org/kolla/latest/
cheers, Andy