brent-c-mills / kitchen-xenserver

Other
2 stars 0 forks source link

Kitchen::Xenserver

A Test Kitchen Driver for Xenserver. (Tested with 6.2 and 6.5)

Requirements

Installation and Setup

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.)

Known Deficiencies / Future Functionality

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.

Configuration

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.

require_chef_omnibus

Determines whether or not a Chef Omnibus package will be installed. There are several different behaviors available:

The default value is unset, or nil.

Development

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:

  1. Fork the repo
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Authors

Created and maintained by Brent Mills (brent.c.mills@gmail.com)

License

Apache 2.0 (see LICENSE)