I'm currently working on a project where I use Vagrant with Ansible provisioning to create local environments in VirtualBox. I'm currently working with a University and we have a XenServer Hypervisor (free edition). I can't access the hypervisor directly from my location, but I can ssh into a Ubuntu server on the same network and forward ports so I can connect to it with XenCenter:

ssh <remote machine> -L80:<xen-server>:80 -L443:<xen-server>:443 -L5900:<xenserver>:5900 -L59001...etc to 5910

The 59xx ports are because XenCenter puts VNC Consoles on those ports. (I'm actually using putty on Windows because I can't get OpenXenCenter/Linux to connect at all with this type of tunnel). Citrix XenCenter connects fine and I can create a new VM, but I cannot get to the console, either via XenCenter or another VNC client.

If I could get the VNC console to work, I could create a base box and just copy it and re-provision the copies with different ansible playbooks as needed.

But I really don't care about being able to get a console so long as I could auto-provision the individual VMs. It'd be nice if I could point at the hypervisor with a client on another machine and script the creation of VMs with specific IP addresses. Vagrant doesn't support Xen as a provider. I've found some limited Xen support using libvirt, but even that seems to be more geared at Xen installed on a standard distribution like Ubuntu or OpenSUSE and not as the standalone Citrix Hypervisor. There is xen-tools, but that seems to also be geared on xen on a local linux distribution.

Is there anyway to remotely provision XenServer instances using either Vagrant or some other type of provisioning tool?

2 Answers 2


For the next guy looking into this:

The solution is to read the XenServer guest installation guide and use a search engine. ;)

First, there's a ansible playbook with nice documentation for setting up VMs in XenServer.

It's not a full vagrant provider and maybe not easy enough for beginners but it covers all the basics.


Secondly, a "real" vagrant provider is available at



If you want to provision xenserver instances, there is a vagrant box available for xenserver at https://vagrantcloud.com/duffy/boxes/xenserver. This environment provisions xenserver inside virtualbox.

You can get started with:

$ mkdir myxenproject
$ cd myxenproject
$ vagrant init duffy/xenserver
$ vagrant up

However, if you want to provision xenserver guest vm instances then this answer is not going to help you :(

  • Yea I wanted to provision guest instances. I forgot about this question. Shortly after this we wiped Xen from the box and just switched to using Vagrant + libvirt/kvm and it did exactly what I needed it to do.
    – djsumdog
    Commented May 6, 2015 at 6:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .