kitchen-lxd Kitchen Driver
A Test Kitchen Driver (and Transport) for Lxd.
Install & Usage Instructions
A Test Kitchen Driver (with Transport) for Lxd.
Lxd version of 2.3 (the one where "lxc network" commands were introduced) or higher is required for this driver which means that a native package must be installed on the system running Test Kitchen.
You do not have to prepare any container image specifically, like downloading it or installing ssh
server. The driver will download container image automatically from the provided remote server,
if it's not available locally. Also you can use
lxd transport instead of default
means files will be uploaded to container using
lxc file push command.
Installation and Setup
Install using command line:
gem install kitchen-lxd
Example config file may look like this:
--- driver: name: lxd binary: lxc # this is default remote: images # default network: lxdbr0 # default fix_chef_install: false # default fix_hostnamectl_bug: true # default transport: name: lxd
Default values can be omitted, so the minimal config file looks like this:
--- driver: name: lxd transport: name: lxd
|binary||Path to lxc executable.||String||
|remote||Remote LXD server to download image from, if it does not exist locally.||String||
|network||Network bridge to attach to container.||String||
|wait_until_ready||Wait for the network to come up.||Boolean||
|fix_chef_install||Apply fix, to make available installation of Chef Omnibus package.||Boolean||
|fix_hostnamectl_bug||Apply workaround to Ubuntu hostnamectl bug in LXD.||Boolean||
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:
- Fork the repo
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
Created and maintained by Juri Timošin.
Apache 2.0 (see LICENSE)