Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ruby
- #
- # $Id$
- require 'mcollective'
- include MCollective::RPC
- options = rpcoptions do |parser, options|
- parser.define_head "Manage remote backend webservers"
- parser.banner = "Usage: bounce-backends"
- parser.separator ""
- parser.separator "Run Options"
- end
- mc = rpcclient("service", :options => options)
- def log(msg)
- puts("#{Time.now}> #{msg}")
- end
- mc.class_filter /backend/
- mc.progress = false
- mc.discover(:verbose => true).each_with_index do |host,i|
- sleep 10 if i > 0
- result = mc.custom_request("status", { :service => "httpd" }, host, { "identity" => host })
- if result.is_a?(Array)
- log("#{host} restart status: #{result[0][:statusmsg]}")
- else
- log("#{host} unknown output: #{result.pretty_inspect}")
- end
- end
- # vi:tabstop=4:expandtab:ai
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement