Skip to content

Run Chef in solo mode

rsvato edited this page Aug 1, 2012 · 4 revisions

Step 'chefsolo'

Step parameters

Parameter Mandatory Description
phase Y Phase to run chef solo
precedingPhases Y Preceding phases (usually, you'll need at least provision phase here)
roles Y List of vm groups (by role name) to run chefsolo on
jattrs Groovy map structure to be transformed to JSON on target node. If you have _templates_ parameter defined, resulting JSON will be result of merge of corresponding template with data defined here. If you don't use templates, at least a run_list attribute should be here
cookbooks Y Path to cookbooks archive (tar.gz) on Genesis server. This archive will be uploaded on target node and unpacked there.
templates Path to local json templates used for merging and substitution. Template name must correspond to vm role name. For example, for vm with role 'foo' plugin will use file 'foo.json'
isGlobal (Default=false) Run chef solo on all machines or only on machines created during current workflow

Example

chefsolo {
   phase = "install"
   precedingPhases = ["provision"]
   roles = ["genesis"] 
   jattrs = ["genesis" : [ 
      "download_url" : genesis_url,
      "config_properties": [
         "genesis.system.jdbc.driver" : "org.h2.Driver",
         "genesis.system.jdbc.url" : "jdbc:h2:file:~/genesis_db/genesis"
      ]
      ], "run_list" : ["recipe[genesis::install]"]]
  cookbooks = "/var/lib/genesis-cookbooks.tar.gz"
}
Clone this wiki locally