Chef field kit samples
This topic contains examples of executing Chef cookbooks by using the Chef field kit.
Apache installation recipe
Recipe: apache2 (1.6.2)
Cookbook download link: http://community.opscode.com/cookbooks/apache2
To execute the Apache installation cookbook
Run the following blchef.rb script to download the apache2 cookbook from cookbooks.opscode.com:
ruby blchef.rb apache2
The command output looks similar to the following:
SUCCESS: Created bundle staging/apache2.tar.gz and file staging/node.json To create a BSA Orchestration Bundle (a.k.a. BlPackage) execute command: nsh cookbook2blpkg.nsh -p <Package Name> -n staging/node.json -c staging/apache2.tar.gz Review/Edit the staging/node.json to ensure the use of desired attributes and recipes.
Successful execution of the script produces the following files:
- apache2.tar.gz: Contains the cookbook and its dependencies
- node.json: Contains cookbooks and attributes
Edit the node.json file as required. The following example shows sample parameters from a node.json file:
"normal": { "apache": { "dir": "/etc/apache2", "log_dir": "/etc/apache2", "user": "www-data", "binary": "/usr/sbin/apache2", "icondir": "/usr/share/apache2/icons", "listen_ports": [ "80", "443" ],
Use the following command to create BMC Server Automation objects (BLPackages and Deploy Jobs) to deploy the cookbook on the required host:
nsh cookbook2blpkg.nsh -p apache2 -n staging/node.json -c staging/apache2.tar.gz -h <hostName>
The following example shows a few sample lines from the command output:
Created Job group /Chef/apache2_GROUP Created a deploy job named dj_apache2 in job group /Chef/apache2_GROUP Create a batch job named batch_job_apache2 in /Chef/apache2_GROUP
Note
The version of the apache2 cookbook downloaded had a problem: the site was not enabled. To resolve the issue, a job named job_httpd_reload was created in BMC Server Automation to enable the site, the http service was reloaded, and the job was added to the Batch Job named batch_job_apache2, as shown in the following figure:
MySQL installation recipe
Recipe: mysql (3.0.2)
Cookbook download link: http://community.opscode.com/cookbooks/mysql
To execute the MySQL installation cookbook
Run the following blchef.rb script to download the mysql cookbook from the cookbooks.opscode.com:
ruby blchef.rb mysql
The following example shows a few sample lines from the command output:
SUCCESS: Created bundle staging/mysql.tar.gz and file staging/node.json To create a BSA Orchestration Bundle (a.k.a. BlPackage) execute command: nsh cookbook2blpkg.nsh -p <Package Name> -n staging/node.json -c staging/mysql.tar.gz Review/Edit the staging/node.json to ensure the use of desired attributes and recipes.
Successful execution of the script produces the following files:
- mysql.tar.gz: Contains the cookbook and its dependencies
- node.json: Contains recipes and attributes
- Edit the node.json file, as required.
The following example shows how to modify install the non-default recipe mysql server recipe recipe[mysql::server] to be installed on server nodes by modifying the default node recipe[mysql]:
"run_list": [ "recipe[openssl]", "recipe[build-essential]", "recipe[mysql::server]" ]
Use the following command to create the BMC Server Automation objects (BLPackages and Deploy Jobs) to deploy the cookbook on the required hosts:
nsh cookbook2blpkg.nsh -p mysql -n staging/node.json -c staging/mysql.tar.gz -h <hostName>
The following example shows a few sample lines from the command output:
Created Job group /Chef/mysql_GROUP Created a deploy job named dj_mysql in job group /Chef/mysql_GROUP Create a batch job named batch_job_mysql in /Chef/mysql_GROUP
Comments