Sorry if this looks like shameless self promotion but for a few weeks now I've been working on Ansible module for managing XenServer/XCP-ng VMs - first of it's kind if I'm not mistaken. The module is in line with what Ansible offers for VMWare and there is a pull request to mainline it. What I would love is for anyone willing to help, and already familiar with Ansible, is to spare some time to test the module since the only way to test it is against real hardware. Of course, the module should not be tested in production environments.
Some of my Ansible modules have been merged upstream and are currently available in development version of Ansible. Ansible 2.8 will be the first official release to include these modules.
My work is currently centered around these three modules:
- xenserver_guest - upstreamed - used for deployment of new VMs from templates and reconfiguration of existing VMs.
- xenserver_guest_facts - upstreamed - used for getting VM facts (useful XenServer/XCP-ng VM params).
- xenserver_guest_powerstate - upstreamed - used for controlling VM power state (running/halted/suspended), graceful shutdown and reboot etc.
For anyone interested in using/testing these modules, upstreamed modules can be acquired by cloning Ansible repo from GitHub (or downloading the ZIP archive) and running Ansible from source. Instructions can be found here:
To use the modules, you will also need XenAPI.py from here:
Copy the file to your Python site-packages (e.g. /usr/lib/python2.7/site-packages/ on CentOS 7).
You can get module documentation by running this command:
$ ansible-doc <module_name>
or from official Ansible docs (upstreamed modules only):
- Fixed a bug on XenServer 7.1 with Cumulative Update where a version could not be properly detected, causing an exception.