# Kitchen::CloudStack A Test Kitchen Driver for Apache CloudStack / Citrix CloudPlatform. ## Requirements This Gem only requires FOG of a version greater than 1.3.1. However, as most of your knife plugins will be using newer versions of FOG, that shouldn't be an issue. ## Installation and Setup Please read the [Driver usage][driver_usage] page for more details. ## Configuration Provide, at a minimum, the required driver options in your `.kitchen.yml` file: driver_plugin: cloudstack driver_config: cloudstack_api_key: [YOUR CLOUDSTACK API KEY] cloudstack_secret_key: [YOUR CLOUDSTACK SECRET KEY] cloudstack_api_url: [YOUR CLOUDSTACK API URL] require_chef_omnibus: latest (if you'll be using Chef) Then to specify different OS templates, platforms: cloudstack_template_id: [INSTANCE TEMPLATE ID] cloudstack_serviceoffering_id: [INSTANCE SERVICE OFFERING ID] cloudstack_zone_id: [INSTANCE ZONE ID] cloudstack_network_id: [NETWORK ID FOR ISOLATED OR VPC NETWORKS] cloudstack_security_group_id: [SECURITY GROUP ID FOR SHARED NETWORKS] OPTIONAL cloudstack_ssh_keypair_name: [SSH KEY NAME] By default, a unique server name will be generated and the randomly generated password will be used, though that behavior can be overridden with additional options (e.g., to specify a SSH private key): name: [A UNIQUE SERVER NAME] public_key_path: [PATH TO YOUR SSH PUBLIC KEY] username: [SSH USER] port: [SSH PORT] Only disable SSL cert validation if you absolutely know what you are doing, but are stuck with an CloudStack deployment without valid SSL certs. disable_ssl_validation: true ### require\_chef\_omnibus Determines whether or not a Chef [Omnibus package][chef_omnibus_dl] 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. * `` (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`. ## Development * Source hosted at [GitHub][repo] * Report issues/questions/feature requests on [GitHub Issues][issues] 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 [Jeff Moody][author] () ## License Apache 2.0 (see [LICENSE][license]) [author]: https://github.com/fifthecho [issues]: https://github.com/fifthecho/kitchen-cloudstack/issues [license]: https://github.com/fifthecho/kitchen-cloudstack/blob/master/LICENSE [repo]: https://github.com/fifthecho/kitchen-cloudstack [driver_usage]: http://docs.kitchen-ci.org/drivers/usage [chef_omnibus_dl]: http://www.opscode.com/chef/install/