Chef file locations

The Chef file and folder locations are different on Linux and Windows machines. This article explains the purpose of each file and the location. Summary Linux Windows Cookbook location /var/chef/cache/cookbooks  C:\chef\cache\cookbooks Chef Client run log /var/log/chef.log First run only C:\chef\chef-client.log Subsequent Chef client runs C:\chef\log\client.log Error log /var/chef/cache/chef-stacktrace.out C:\chef\cache\chef-stacktrace.out Ohai output /var/chef/cache/failed-run-data.json C:\chef\cache\failed-run-data.json Recommended location for …

Internalize Chocolatey packages

To access Chocolatey packages in your private network you need to download them from the Internet and store them at a location where all servers can access them. You can internalize Chocolatey packages if you have a Chocolatey Business subscription. You can use an Artifactory server to host the internalized packages. List of available packages To …

Launch Windows instances locally with Chef Test Kitchen

Most Linux distributions are free, and do not require product keys to launch them. The steps below are based on the great article at http://kitchen.ci/blog/test-kitchen-windows-test-flight-with-vagrant/ I have summarized the steps below to create a free Virtual Box Windows Server 2012R2 image on your workstation, so Test Kitchen can use Vagrant and Virtual Box to launch Windows instances and test cookbooks …

DevOps Engineering part 1. (Mac) – Make your Macintosh easier to use

Enable the right-click To be able the right-click on the mouse Open settings. Enable Secondary click for the mouse and the trackpad. Disable caps lock If you never write emails with all capital letters, and many times a day accidentally press the caps lock key, you can disable it. Open the Keyboard settings On the …

DevOps Engineering part 1. (Win) – Install the DevOps development tools on Windows

Set up your computer Display the file extensions In Windows 10 Open File Explorer On the View tab select File name extensions Hidden items In Windows 7 Open Windows Explorer and select Organize Select Folder and search options On the View tab Select Show hidden files, folders, and drives Uncheck Hide extensions for known file …

`block in filter_instances’: undefined method `empty?’ for nil:NilClass (NoMethodError)

When you try to execute any of the “kitchen” commands in Chef Test Kitchen you may get the following error message. lib/kitchen/config.rb:182:in `block in filter_instances’: undefined method `empty?’ for nil:NilClass (NoMethodError) This happened in my cookbook, when I have removed the value from the “excludes:” option in the .kitchen.yml file, but left the “excludes:” option …

Serialize SSH and RSA private keys to store them in a Chef Data Bag

To send RSA private keys to instances, store them in encrypted data bags. The data bag item is a JSON file that contains keys and values inline. Use base64 encoding Base64 encoding converts binary data to ASCII format to represent special characters, like line breaks as ASCII text. The result will be larger, 8 / …

HTTP Request Returned 409 Conflict: Client already exists

The Chef server maintains the list of registered nodes and clients in its database.  When you launch a new instance with Chef you may encounter the following error message: *** Input CHEF_CLIENT_NODE_NAME is undefined, using: IP-0AFE6965 … *** Starting chef-client *** Finished chef-client Printing Log … […] INFO: Client key C:\chef\client.pem is not present – …

DevOps Engineering part 5. – Create an enterprise cookbook

In this exercise we will create a Chef cookbook for a corporation. It will be robust and include all the necessary elements to be used in a large enterprise. If your company already has established standards, as you progress with this tutorial, copy the appropriate file from an existing cookbook. If this is the first …

DevOps Engineering part 4. – Connect to the Chef server

Find a Chef Server To work in a corporate environment, your organization needs access to a Chef server. To learn Chef and test your cookbooks for free, you can create an account on the “hosted” Chef server, maintained by the Chef company. The plan allows five nodes at a time, so you can even launch a small …