Showing affected nodes before uploading cookbooks
You know how it goes. You tweak a cookbook to support your new server and upload it to your Chef server. Your new node converges just fine and you're happy. Well, until your older production server picks up your modified cookbook during an automated Chef client run and spits its guts at you. Obviously, you forgot that your old production server was still using the cookbook you tweaked. Luckily, there is the knife preflight
command, which can show you all the nodes using a certain cookbook before you upload it to your Chef server.
Getting ready
For the following example, we assume that you have at least one role using the ntp
cookbook in its run list and that you have multiple servers with this role and/or the ntp
cookbook in their run list directly.
Use Chef to install the knife-preflight
gem:
mma@laptop:~/chef-repo $ chef gem install knife-preflight
Fetching gem metadata from https://rubygems.org/ ...TRUNCATED OUTPUT... Installing knife-preflight...