Lead OSUOSL Developer Peter Krenesky has written an excellent blog post going over how the permission system works in Ganeti Web Manager. A key feature I’m looking forward to using more at the OSUOSL is managing our clusters with the following scenarios:

  • Fully managed - users have no access at all.  Only admins can create, reboot, or modify.
  • Partially managed - users can’t create virtual machines, but they have some limited ability to manage them.
  • Self Service - users can create virtual machines on demand.  They can create and manage their own virtual machines as needed.
  • User Managed Cluster - a user has control of an entire cluster.

The permission system in GWM will enable Ganeti cluster admins the ability to manage each cluster and virtual machine in finer detail. Ganeti by itself doesn’t come with any sort of user access management system, nor should it really. It makes sense to build tools like GWM on top of Ganeti to deal with such situations. I hope to see more features and bug fixes related to the permissions and quota system.

I’d love to see some feedback on how we implemented the system and how we can improve it!

Ganeti Web Manager logo

After three months of development Ganeti Web Manager 0.4 has been released! This project has been developed primarily by the OSU Open Source Lab with help from the folks at GRNET and several Google GCI students. Ganeti Web Manager (GWM) is a Django-based web application that connects to the Ganeti Remote API. It allows Ganeti administrators access to the various common tasks along with incorporating a permission system. GWM has a long ways to go in terms of implementing more of the RAPI features and UI improvements but this first release should be enough to get people to start using it in production. You can download Ganeti Web Manager here.

Features in 0.4:

  • Caching system
  • Permissions system:
    • User & Group management
    • Per cluster/virtual machine permissions
  • Basic VM management: Create, Delete, Start, Stop, Reboot, VNC Console
  • SSH key feed (for a ganeti post-install hook)
  • Basic quota system
  • Import tools

Basic Installation Requirements

GWM has a fairly low requirement footprint and only requires a minimum amount of Django dependencies.

Currently Firefox and Chrome browsers should work well although know that IE will have issues. I certainly hope whoever is using this application has at least Firefox installed. You will need the Java browser plugin in order to the VNC console. The VNC console requires direct access to the VNC port on the VM but we are working with GRNET to add in a VNC Auth Proxy to get around that.

Ganeti compatibility:

  • >= 2.2.x – supported
  • 2.1.x – mostly supported
  • 2.0.x – unsupported but may work
  • 1.x – unsupported

Screenshots:

List all virtual machines on a cluster:

List VMs in a cluster

Creating a new virtual machine form:

Creating a new virtual machine

Virtual machine reation output dynamically updating:

VM Creation output

Virtual machine VNC console using the java client.

VM VNC Console

Upcoming Features

We have lots of features we would like to eventually implement in GWM. You can see many of them on our issue tracker but here’s a summary of notable features we plan to do.

I’m excited to see where Ganeti Web Manager goes. I plan to start rolling it out at the OSUOSL very soon and giving access to some of the projects we host. If you would like to become a contributor to the project, please check us out on IRC in #ganeti-webmgr on Freenode.

Check my blog and Peter’s blog for more updates soon on Ganeti Web Manager.