Chef Cookbooks - Getting the Details

By Ganna Shargorodska

Auto-configuration is one of the core services used in EPAM Orchestrator. Essentially, auto-configuration is about automatic installation and configuration of various software packages with no need for the user to set up anything manually and dig deep into the specific requirements of this or that software.

In EPAM Orchestrator, auto-configuration is based on Chef. For each project activated in EPAM Cloud, there is a default Chef server, and each virtual machine created in EPAM Cloud has a Chef client. Basically, configuring an instance with certain software is down to assigning the corresponding Chef role to it. EPAM Orchestrator supports about three dozen Chef roles. The roles contain cookbooks which define the configuration of the installed components.

For the user, there is not much to do - if they are creating a pre-configured instance with a certain platform on board, they send the or2ms command specifying the service; if they wish to install a software package on an existing instance, they send the or2setp command with the aliases of the Chef roles to be assigned to the instance. In both cases, the actual configuration is behind the scenes, and the user will get a properly configured machine shortly.

But sometimes it may be useful to know what is actually going on during auto-configuration. You can learn a lot looking up the cookbook details, and there is a way to do it.

First, you need to see the cookbooks applied to your instance. They are applied at the first Chef client run, and can be retrieved with the following command (for Linux instances):

grep "Loading cookbooks" /var/log/chef/client.log | tail -n1

This command returns the list of all cookbooks used on your instance. To look into a particular cookbook, download it using the command as follows (please note that the command is available for Chef servers or workstations only):

knife cookbook download cookbook_name

This command will download an archive containing a file, among others. The README file contains lots of information about the cookbook, such as the functionality the cookbook enables, the system requirements, the supported platforms:

You can find the list of the currently available Chef roles and their details in the EPAM Cloud Knowledge Base. You are welcome to use these roles for automated installation of the corresponding software on your virtual machines. Platforms are installed with the or2-manage-service CLI command specifying the service to be deployed. See the Services Guide for the full list of available platform services and instructions on their deployment and usage.