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
    May 6, 2015 at 6:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.