XenServer self service portal

This is something our Xen Orchestra users asked for a long time: a self service portal for creating VMs without bothering the system administrator.

But this is not something you make in few minutes, because giving access to VM creation means resource usage, and maybe uncontrolled resource utilization. You won't be pleased to find your storage is out of space because of a user creating a LOT of VMs eh? That's why you need quotas.

Resource set

We created the concept of "resource set". Basically, you can see it like a "sandbox" where resources will be used. A set has:

  • a name
  • users or groups attached to it
  • Xenserver pools (one or more)
  • Templates
  • Storage repositories
  • Networks
  • Quotas (max vCPUs, RAM and disk usage)

After selecting those resources, you'll be able to see on which hosts VMs could run. E.g, if you selected a SR (Storage Repository) which is available on one host only, then you'll have only this host capable of running VMs from this set.

So to create a new set in Xen Orchestra, as an administrator, go inside the "Self Service" view:

Then create your set:

In this example, I created a set named "sandbox", where:

  • all users of the group "devs" can create VMs
  • Those VMs will be created on "Lab pool"
  • With only one template ("Debian 8 Cloud Ready"), on the "SSD NFS" SR and using one network (on eth0)


But that's not all. What if you want users to use a part of this resource set. I mean, this pool could be also used for other stuff.

So in my example, I also limited resource usage in this set with quotas of:

  • a total disk usage at 100 GiB max
  • a total of vCPUs at 8 and RAM at 16 GiB

After the creation, you have a recap of your existing set on the bottom:

On user side

Now, every user inside the "devs" group will be able to create VMs, and in a predictable way (thanks to quotas).

On their main view, a new green icon will appear:

This new create VM view is a bit different: you can select your "Resource set" (because a user can have multiple sets!) and only use specified templates, networks etc.

All of this within limits defined by quotas:

See the recap panel with in green the new resources used and in blue the previous resources of this set:

Going further

But to really leverage self service efficiently, it's even better to combine it with Cloudinit ready templates.

This way, your users can put directly their own SSH keys and work without asking for password. They became completely independent, and they can create VMs in less than 20 secs.

You can also learn more about CloudInit possibilities in our previous blog post: Full CloudInit power in XenServer.

Your XenServer infrastructure is now Cloud capable, without any complicated installation or agent to deploy on your hosts!