hostnames = [ h.hostname for h in config.hosts ]
-def monocast(args, hosts = hostnames, randomize = True):
+def monocast(args, hostnames = hostnames, randomize = True):
"""
Given a command and a list of hostnames or IPs, issue the command to each
node until it connects to one of the nodes.
stderr of remctl
"""
if(randomize):
- hosts = random.sample(hosts, len(hosts))
+ hostnames = random.sample(hostnames, len(hostnames))
hostsdown = []
- for host in hosts:
+ for host in hostnames:
pipe = Popen(['remctl', host, 'remote', 'web'] + args, stdout=PIPE, stderr=PIPE)
output = pipe.communicate()
if pipe.returncode != 0:
if output[1].startswith('remctl: cannot connect to %s' % host):
hostsdown.append(host)
else:
- #raise RuntimeError("remctl to host %s returned non-zero exit status %d; stderr:\n%s"
- # % (host, pipe.returncode, output[1]))
return (host, hostsdown, pipe.returncode,) + output
else:
return (host, hostsdown, pipe.returncode,) + output