- From: Roland Moriz <
>
- To:
- Subject: [chef] chef-provisioning / knife-zero
- Date: Fri, 29 May 2015 12:03:05 +0200
Hi everyone!
I'm currently maintaining a couple of small (<25 nodes) knife-solo[1] and
knife-zero[2] setups.
Typically the setups are too small to run a traditional chef-server setup,
also the owners don't want to rely on third party services (data protection,
latency) - so hosted chef is not a solution.
Recently I've re-evaluated the current state of chef-provisioning and it
looks way better than a couple of months ago. However I'm not sure how this
is meant to replace the "knife-*" solutions out there: While setting up a
couple of machines with attributes/run-list is very nice using the
Chef-Provisioning Chef-DSL, my customers usually don't want to (re-)converge
*all* nodes but run chef-client explicitly on one (or more) nodes.
Example provisioning recipe:
https://gist.github.com/rmoriz/f293ca1402591c5469ae
I can run "bundle exec chef-client -z provisioning/test.rb" and the instances
will be provisioned, bootstrapped and converged. awesome!
But how do I later use chef-zero to converge e.g. *only* the nginx node? When
I re-run the recipe, all nodes will be converged.
As far as I understand, I could add some attributes or even (ab)use local
environment variables to execute only specific resources of the
chef-provisinioning cookbook, but I'm sure this is not the right way to do
it, right?
A "one node per recipe"-approach seems to be very non-DRY to me and breaks
all the nice "10.times do |i| … end" examples to create a bunch of identical
nodes.
I'm missing something like knife-zero in the mix, unfortunately it currently
use a different port for knife-zero forwarding which currently makes it
incompatible.
Any hints? Thanks :)
best regards
Roland
[1]
https://github.com/matschaffer/knife-solo
[2]
https://github.com/higanworks/knife-zeroAttachment:
smime.p7s
Description: S/MIME cryptographic signature
- [chef] chef-provisioning / knife-zero, Roland Moriz, 05/29/2015
Archive powered by MHonArc 2.6.16.