anchor.diff:  
   
   configure_converger() {
  -  converge=${chef_dir}/src/scripts/converge.sh
  -  chmod 0544 ${converge}
  -  ln -s ${converge} /usr/local/bin/converge
  +  cat<<EOF > $converge
  +#!/bin/bash
  +
  +set -e
  +set -u
  +
  +branch=\`cat /etc/chef/branch\`
  +role=\`cat /etc/chef/role\`
  +
  +runlist="role[\${role}]"
  +if [ -f "/etc/chef/src/roles/\${branch}.rb" ]
  +then
  +  runlist+="role[\${branch}]"
  +fi
  +
  +echo doing a hard reset to origin/\${branch}
  +cd /etc/chef/src
  +GIT_SSH=/etc/chef/git_wrapper git fetch
  +git reset --hard origin/\${branch}
  +git clean -fdx
  +
  +json="{\"role\": \"\${role}\", \"branch\": \"\${branch}\"}"
  +json_file=\`tempfile\`
  +echo \$json > \$json_file
  +trap "{ rm -f '\$json_file' ; }" EXIT
  +
  +echo "running chef-solo with runlist \$runlist and json \$json (in file \$json_file)"
  +chef-solo -o "\${runlist}" -j \${json_file}
  +EOF
  +  chmod 544 $converge
   }
   
   configure_chef_daemon() {
  
positive.code: 
    echo "configuring chef solo..."
    cat<<EOF > ${chef_dir}/solo.rb
  log_level        :info
  log_location     STDOUT
  cookbook_path "$repo_dir/cookbooks"
  role_path "$repo_dir/roles"
  data_bag_path "$repo_dir/data_bags"
  json_attribs "${jsonfile}"
  EOF
  
    echo -e "$data_bag_secret" > ${chef_dir}/encrypted_data_bag_secret
  
negative.code: 
  run_chef() {
    echo "doing initial chef run..."
    $converge 1>&2
    echo "initial chef run complete"
  }
  
  