Skip to content

Instantly share code, notes, and snippets.

@jnewland

jnewland/riak.rb Secret

Created October 12, 2010 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jnewland/48529d7eb1a9a69935fd to your computer and use it in GitHub Desktop.
Save jnewland/48529d7eb1a9a69935fd to your computer and use it in GitHub Desktop.
namespace :riak do
desc "wait for service to be up before continuing"
task :wait_for_service, :roles => :riak do
sudo 'riak-admin wait-for-service riak_kv riak@`hostname -f`'
end
desc "restart each node in the cluster serially"
task :rolling_restart, :roles => :riak do
serially do
sudo '/etc/init.d/riak restart'
wait_for_service
end
end
end
def serially(&block)
original = ENV['HOSTS']
find_servers_for_task(self.current_task).each do |server|
ENV['HOSTS'] = server.host
yield
end
ensure
ENV['HOSTS'] = original
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment