main()
click to toggle source
# File plugins/mcollective/application/rpc.rb, line 79 def main mc = rpcclient(configuration[:agent]) mc.agent_filter(configuration[:agent]) string_to_ddl_type(configuration[:arguments], mc.ddl.action_interface(configuration[:action])) if mc.ddl if mc.reply_to configuration[:arguments][:process_results] = true puts "Request sent with id: " + mc.send(configuration[:action], configuration[:arguments]) + " replies to #{mc.reply_to}" elsif configuration[:no_results] configuration[:arguments][:process_results] = false puts "Request sent with id: " + mc.send(configuration[:action], configuration[:arguments]) else # if there's stuff on STDIN assume its JSON that came from another # rpc or printrpc, we feed that in as discovery data discover_args = {:verbose => true} unless STDIN.tty? discovery_data = STDIN.read.chomp discover_args = {:json => discovery_data} unless discovery_data == "" end mc.discover discover_args printrpc mc.send(configuration[:action], configuration[:arguments]) printrpcstats :summarize => true, :caption => "#{configuration[:agent]}##{configuration[:action]} call stats" if mc.discover.size > 0 halt mc.stats end end