[chef] Re: chef version with chef exec rspec


Chronological Thread 
  • From: Lamont Granquist < >
  • To:
  • Cc: Ben Roling < >
  • Subject: [chef] Re: chef version with chef exec rspec
  • Date: Thu, 29 Jan 2015 15:16:37 -0800


I think you've done the correct thing to pin the version of chef used to run chefspec against your cookbooks to the same version in your prod environment.

It'd probably be nice if chef exec automatically could do a bundle exec if it detected a Gemfile, similarly to rubygems-bundler: https://rvm.io/integration/bundler or rbenv-bundler: https://github.com/carsomyr/rbenv-bundler

On 1/29/15 1:00 PM, Ben Roling wrote:
I'm just finally trying out ChefDK for the first time and when running unit tests on one of my cookbooks I notice warnings like the following:

.[2015-01-29T14:47:55-06:00] WARN: The on_platforms option to node_map has been deprecated

When I tracked this message down to coming from 'node_map.rb' in the chef gem, I noticed it was from Chef 12.

That got me to thinking -- how am I supposed to define the Chef version I want my unit tests to run against? I just assumed they would run against the Chef version dictated by the ChefDK version I was using (0.3.4 in this case to target Chef 11.16.4).

And more generally, how exactly am I supposed to run the tests?

At first I simply ran 'chef exec rspec' (or chef shell-init and then just 'rspec').

I guess first question is, is that how I am supposed to run them?

I was able to control the Chef version by specifying it in my Gemfile and running 'chef exec bundle update' and 'chef exec bundle exec rspec', but I'm not sure I am really supposed to be doing that?

Any guidance would be appreciated!

Thanks,
Ben




Archive powered by MHonArc 2.6.16.

§