Sha256: df4ebe661050a4bd93ded421cb3452fe861180f99034b6a5e9796f30e120d2df
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
require 'tempfile' module Cloudkick::Command class Pssh < Base def index unless args.size % 2 == 1 and args.size <= 5 raise CommandFailed, 'usage: cloudkick pssh --query <query> ' \ '<command> ' \ '[--username <username>]' end query = extract_option('--query') username = extract_option('--username') command = args.last.strip.downcase rescue nil file = Tempfile.new('ck') if query client.get('nodes', query).each do |node| file.puts node.ipaddress end else client.get('nodes').each do |node| file.puts node.ipaddress end end file.flush begin if username system("pssh -i -h #{file.path} -l #{username} '#{command}'") else system("pssh -i -h #{file.path} '#{command}'") end rescue raise CommandFailed, 'cloudkick: command not found: pssh' end file.close end end class Pscp < Base def index end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cloudkick-0.2.13 | lib/cloudkick/commands/parallel.rb |