Reference

kitchen(1)

integration tool for Chef

NAME

Kitchen - integration tool for Chef

DESCRIPTION

Test Kitchen is a test harness tool to execute your configured code on one or more platforms in isolation. A driver plugin architecture is used which lets you run your code on various cloud providers and virtualization technologies such as Amazon EC2, Blue Box, CloudStack, Digital Ocean, Rackspace, OpenStack, Vagrant, Docker, LXC containers, and more. Many testing frameworks are already supported out of the box including Bats, shUnit2, RSpec, Serverspec, with others being created weekly.

For Chef workflows, cookbook dependency resolver tools such as Berkshelf and Librarian-Chef are supported or you can simply have a cookbooks/ directory and Test Kitchen will know what to do. Support for Test Kitchen is already included in many Chef community cookbooks such as the MySQL, nginx, Chef Server, and runit cookbooks.

Commands:

kitchen console

# Kitchen Console!

kitchen converge [INSTANCE|REGEXP|all]

# Change instance state to converge. Use a provisioner to configure one or more instances

kitchen create [INSTANCE|REGEXP|all]

# Change instance state to create. Start one or more instances

kitchen destroy [INSTANCE|REGEXP|all]

# Change instance state to destroy. Delete all information for one or more instances

kitchen diagnose [INSTANCE|REGEXP|all]

# Show computed diagnostic configuration

kitchen driver

# Driver subcommands

kitchen driver create [NAME]

# Create a new Kitchen Driver gem project

kitchen driver discover

# Discover Test Kitchen drivers published on RubyGems

kitchen driver help [COMMAND]

# Describe subcommands or one specific subcommand

kitchen exec INSTANCE|REGEXP -c REMOTE_COMMAND

# Execute command on one or more instance

kitchen help [COMMAND]

# Describe available commands or one specific command

kitchen init

# Adds some configuration to your cookbook so Kitchen can rock

A `.kitchen.yml` will be created in your project base directory. This file describes your testing configuration; what you want to test and on which target platforms. Each of these suite and platform combinations are called instances. By default your instances will be converged with Chef Solo and run in Vagrant virtual machines.

kitchen list [INSTANCE|REGEXP|all]

# Lists one or more instances

kitchen login INSTANCE|REGEXP

# Log in to one instance

kitchen setup [INSTANCE|REGEXP|all]

# Change instance state to setup. Prepare to run automated tests. Install busser and related gems on one o...

kitchen test [INSTANCE|REGEXP|all]

# Test (destroy, create, converge, setup, verify and destroy) one or more instances

kitchen verify [INSTANCE|REGEXP|all]

# Change instance state to verify. Run automated tests on one or more instances

kitchen version

# Print Kitchen's version information