testing - chef-boneyard/chef-summit-2014 GitHub Wiki

Session Title

Wednesday, Stage, 14:30

  • Stephen Nelson Smith (SNS) / Facilitator
  • Scott Russell

Participants

Summary of Discussions

Multinode tests, what are people doing?. - SNS

Testkitchen can use multiple cloud providers. Some folks have used cucumber spec to test multiple nodes, and seems to work. Busser using serverspec, using serverspec, using chef metal to stand up a bunch of machines,and then use test kitchen to test them.

Orchestration, in Testkitchen, and why not.

Chefspec value is where logic exists, then it seems valuable?

More and more integration tests and acceptance testing being done.

Chefspec

Q: Build a big lwrp, but it had a lot of complexity, and seems like it should be done another way?

A: Once your lwrp starts to be become fat, make it a HWRP, then it should be written in ruby but not always easy.

Noa Kantowich, has poise?

Food Critic is good, recommended to use for baking good cookbooks. Running Rubocop against your code, for ruby style guides.

Rubymine has some support for chef.

Supermarket maybe should include style and code checks.

Chefspec has it got slower. 10s is this typical, perceived to be slower.

Half and half ops and dev's.

Differentiator seems to be between what tests you need if you are writing a cookbook, and what tests you need as a user of the cookbook? This seemed to be uniformly agreed.

Cookbooks that have many contributors, unit testing is seen as more essential, due to the complexity ( eg apache ).

Azure and aws, has a driver in testkitchen, no need to use vagrant, but for other providers, you may have to use vagrant. Can use an erb template for the vagrant file in testkitchen.

Recommended to use vagrant-cachier. Docker plugin with test kitchen, especially using guard is very quick. Also used build pipeline using centralised docker server.

Good tools.

https://github.com/paulczar/meez

https://github.com/customink/strainer

What will we do now? What needs to happen next?

⚠️ **GitHub.com Fallback** ⚠️