summaryrefslogtreecommitdiffstats
path: root/func/overlord/cmd_modules/call.py
diff options
context:
space:
mode:
Diffstat (limited to 'func/overlord/cmd_modules/call.py')
-rw-r--r--func/overlord/cmd_modules/call.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/func/overlord/cmd_modules/call.py b/func/overlord/cmd_modules/call.py
index bc21b51..fcae0b3 100644
--- a/func/overlord/cmd_modules/call.py
+++ b/func/overlord/cmd_modules/call.py
@@ -52,9 +52,12 @@ class Call(base_command.BaseCommand):
self.parser.add_option("-n", "--nopoll", dest="nopoll",
help="Don't wait for async results",
action="store_true")
- self.parser.add_option("-s", "--sort", dest="sort",
+ self.parser.add_option("", "--sort", dest="sort",
help="In async mode, wait for all results and print them sorted.",
action="store_true")
+ self.parser.add_option("-s", "--jobstatus", dest="jobstatus",
+ help="Do not run any job, just check for status.",
+ action="store_true")
def handleOptions(self, options):
self.options = options
@@ -124,12 +127,19 @@ class Call(base_command.BaseCommand):
self.getOverlord()
- results = self.overlord_obj.run(self.module, self.method, self.method_args)
+ if not self.options.jobstatus:
+ results = self.overlord_obj.run(self.module, self.method, self.method_args)
+ else:
+ (return_code, async_results) = self.overlord_obj.job_status(float(self.module))
+ res = self.format_return((return_code, async_results))
+ print res
+ return 0
if self.options.async:
partial = {}
if self.options.nopoll:
- print "JOB_ID", results
+ print "JOB_ID:", pprint.pformat(results)
+ return 0
else:
async_done = False
while not async_done: