test-kitchen/test-kitchen — pull request #564 by emiddleton (2014-12-16 15:37:08+00:00)
Title: add support for multiple steps converge

This change allows multiple provisioner runs to be made on a single converge. This can be used to test migration between cookbooks versions #339, to install a new kernel #324 (using cookbook-reboot-handler patched with emiddleton/cookbook-reboot-handler@a94e40edca2dccf3dcc17334825b6489edde6103) and to make converge more robust #162

Converge steps are defined as an array of step hashes as shown below. (step hashes support all suite keys except name: and steps:).

```yaml
platforms:
- name: centos-6.4

suites:
- name: mysuite
steps:
- run_list:
- recipe[wakame-vdc::default]
- run_list:
- recipe[wakame-vdc::default]
```

Each step result in a new instance with _step_n attached to the suite name i.e

```shell
# kitchen list

Instance Driver Provisioner Last Action
mysuite-step-1-centos-64 Vagrant ChefSolo
mysuite-step-2-centos-64 Vagrant ChefSolo
```

This allows test to be run at each step in the convergence process.