[chef] RE: Berks & Kitchen Interaction


Chronological Thread 
  • From: Martin Smith < >
  • To: " " < >
  • Subject: [chef] RE: Berks & Kitchen Interaction
  • Date: Mon, 22 Sep 2014 12:22:00 +0000
  • Accept-language: en-US

Hi Stephen,

As I understand it, test-kitchen will run a `berks install` or `berks vendor` 
[1] to get your cookbooks into the right place, using the Berksfile.lock as a 
guide for what the currently locked versions of a cookbook are. But 
test-kitchen won't ever do a `berks update`; this would be very bad to get 
brand new versions of your dependencies on every converge. `berks update` 
will keep the constraints in your Berksfile, but update your lockfile when it 
re-resolves the dependency.

[1] 
https://github.com/test-kitchen/test-kitchen/blob/master/lib/kitchen/provisioner/chef/berkshelf.rb#L64-L71

Hope this helps!

- Martin

________________________________________
From: Stephen Nelson-Smith 

Sent: Saturday, September 20, 2014 6:45 AM
To: 

Subject: [chef] Berks & Kitchen Interaction

Can someone clarify exactly how berks and kitchen interact in this scenario:

Cookbook under test: passenger_nginx_vhost_test

This is a cookbook to test an LWRP that I am writing in the cookbook
'passenger_nginx'

The 'passenger_nginx' cookbook is a dependency for passenger_nginx_vhost_test.

When I first ran kitchen converge, the Berksfile this pointed to git
which obviously lacked the LWRP, as I hadn't written it, but once I
started working on the LWRP I updated the Berksfile to point to the
cookbook on disk:

$ grep passenger Berksfile
cookbook 'passenger_nginx', path: '/home/kitchen/passenger_nginx'

Upon running another kitchen converge, the cookbook on the test
instance was still the old one from git.  I then bumped the version in
the passenger_nginx metadata and tried a converge again.  Same effect.
In order to get the updated cookbook transferred to the test instance
I needed to run a manual berks update, which pulled in the newer
cookbook from disk, and was subsequently used by kitchen converge.

My expectation is that this intermediate berks update is unnecessary.

Am I missing something?

--
Stephen Nelson-Smith,
Founder, Principal Consultant,
Atalanta Systems Ltd,
Web: http://agilesysadmin.net
Twitter: @lordcope
Skype: atalanta.systems
Direct: +44 (0) 1329 550203
Mobile: +44 (0) 7917 101919

Atalanta Systems: The Agile Infrastructure Enablers
http://atalanta-systems.com



Archive powered by MHonArc 2.6.16.

§