A Test Kitchen Driver for Xenserver. (Tested with 6.2 and 6.5)
For full instructions, see the kitchen-xenserver wiki.
To build the gem
gem build ./kitchen-xenserver.gemspec
To install the gem
sudo chef gem install --local ./kitchen-xenserver-1.0.1.gem
Please read the Driver usage page for more details. (This page is not yet available. This link will be updated once the full API docuementation / developer docs have been posted.)
The initial version of this Kitchen driver was developed to meet the minimum required functionality. The following are known deficiencies that will be corrected with future development.
Configurations should be made in .kitchen.yml inside your cookbook in a "driver_config" section. See the kitchen-xenserver wiki for more details.
KITCHEN-XENSERVER CONFIGS
VARIABLE | DESCRIPTION |
---|---|
:overwrite_vms | Allows kitchen-xenserver to overwrite existing VMs with the same hostname. |
:created_vm | Used by kitchen-xenserver to determine if a VM has been created. |
VM CONFIGS
VARIABLE | DESCRIPTION |
---|---|
:server_name | Desired VM name for VMs created by Test Kitchen. |
:server_template | Template from which VMs will be cloned. |
VM SSH CONFIGS
VARIABLE | DESCRIPTION |
---|---|
:username | SSH username for created VMs. |
:password | SSH password for created VMs. |
:hostname | DNS resolvable hostname (or IP address) for created VMs. |
:port | SSH port for created VMs. |
:ssh_timeout | SSH timeout for created VMs. |
:ssh_retries | SSH retries for created VMs. |
XENSERVER CONFIGS
VARIABLE | DESCRIPTION |
---|---|
:storage_repo | Desired storage repo to be used for created VMs. |
:xenserver_url | Xenserver IP Address. |
:xenserver_username | Xenserver Username. |
:xenserver_password | Xenserver Password. |
Determines whether or not a Chef Omnibus package will be installed. There are several different behaviors available:
true
- the latest release will be installed. Subsequent converges
will skip re-installing if chef is present.latest
- the latest release will be installed. Subsequent converges
will always re-install even if chef is present.<VERSION_STRING>
(ex: 10.24.0
) - the desired version string will
be passed the the install.sh script. Subsequent converges will skip if
the installed version and the desired version match.false
or nil
- no chef is installed.The default value is unset, or nil
.
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:
git checkout -b my-new-feature
)git commit -am 'Added some feature'
)git push origin my-new-feature
)Created and maintained by Brent Mills (brent.c.mills@gmail.com)
Apache 2.0 (see LICENSE)