Skip to content

Instantly share code, notes, and snippets.

@jjuarez
Created June 12, 2013 13:59
Show Gist options
  • Save jjuarez/5765523 to your computer and use it in GitHub Desktop.
Save jjuarez/5765523 to your computer and use it in GitHub Desktop.
#!/bin/bash
RABBITMQ_VHOST="/chef"
RABBITMQ_USERNAME="chef"
RABBITMQ_PASSWORD="testing"
CHEF_COUCH_URL="http://127.0.0.1:5984/chef"
console() {
[ -n "${1}" ] && echo "${1}"
}
die() {
case ${#} in
0) exit 0
;;
1) console "${1}"
exit 0
;;
*) console "${1}"
exit ${2}
;;
esac
}
stop_services() {
console "Stoping services..."
for srvc in monit httpd chef-server-webui chef-server; do
service ${srvc} stop || console "Opsss!"
done
console "done"
}
start_services() {
console "Starting services..."
for srvc in chef-server chef-server-webui httpd monit; do
service ${srvc} start || die "Problems starting: ${srvc}" 1
done
console "done"
}
regenerate_rabbitmq_support() {
console "Cleaning rabbitMQ stuffs..."
rabbitmqctl -q clear_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USERNAME} &&
rabbitmqctl -q delete_user ${RABBITMQ_USERNAME} &&
rabbitmqctl -q delete_vhost ${RABBITMQ_VHOST} &&
rabbitmqctl -q add_vhost ${RABBITMQ_VHOST} &&
rabbitmqctl -q add_user ${RABBITMQ_USERNAME} ${RABBITMQ_PASSWORD} &&
rabbitmqctl -q set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USERNAME} ".*" ".*" ".*" &&
console "done"
}
compact_couchdb() {
console "Compacting CouchDB..."
curl -s -H "Content-Type: application/json" -X POST "${CHEF_COUCH_URL}/_compact" >/dev/null &&
console "done"
}
reindex() {
console "Re-indexing all..."
chef-solr-rebuild
chef-solr-indexer
console "done"
}
##
# ::main::
stop_services
regenerate_rabbitmq_support
compact_couchdb
reindex
start_services
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment