summaryrefslogtreecommitdiffstats
path: root/func/overlord/cmd_modules/ping.py
diff options
context:
space:
mode:
Diffstat (limited to 'func/overlord/cmd_modules/ping.py')
-rw-r--r--func/overlord/cmd_modules/ping.py27
1 files changed, 16 insertions, 11 deletions
diff --git a/func/overlord/cmd_modules/ping.py b/func/overlord/cmd_modules/ping.py
index d5f57cc..29fa9d0 100644
--- a/func/overlord/cmd_modules/ping.py
+++ b/func/overlord/cmd_modules/ping.py
@@ -54,17 +54,22 @@ class Ping(client.command.Command):
def do(self, args):
self.server_spec = self.parentCommand.server_spec
- client_obj = client.Client(self.server_spec,
- port=self.options.port,
- interactive=False,
- verbose=self.options.verbose,
- config=self.config)
-
- results = client_obj.run("test", "ping", [])
- for (host,result) in results.iteritems():
- if result == 1:
- print "[ ok ... ] %s" % host
+ # because this is mainly an interactive command, expand the server list and make seperate connections.
+ # to make things look more speedy.
+
+ servers = client.expand_servers(self.server_spec, port=self.options.port, noglobs=None,
+ verbose=self.options.verbose, just_fqdns=True)
+
+ for server in servers:
+
+ client_obj = client.Client(server,port=self.options.port,interactive=False,
+ verbose=self.options.verbose,config=self.config, noglobs=True)
+
+ results = client_obj.run("test", "ping", [])
+ if results == 1:
+ print "[ ok ... ] %s" % server
else:
- print "[ FAILED ] %s" % host
+ print "[ FAILED ] %s" % server
+
return 1