Leverage cowsay if installed.
parent
960e7c331c
commit
0972b761de
|
@ -84,7 +84,7 @@ def main(args):
|
||||||
|
|
||||||
pb.run()
|
pb.run()
|
||||||
hosts = sorted(pb.stats.processed.keys())
|
hosts = sorted(pb.stats.processed.keys())
|
||||||
print "\n\nPLAY RECAP **********************\n\n"
|
print callbacks.banner("PLAY RECAP")
|
||||||
for h in hosts:
|
for h in hosts:
|
||||||
t = pb.stats.summarize(h)
|
t = pb.stats.summarize(h)
|
||||||
print "%-30s : ok=%4s changed=%4s unreachable=%4s failed=%4s " % (h,
|
print "%-30s : ok=%4s changed=%4s unreachable=%4s failed=%4s " % (h,
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
import utils
|
import utils
|
||||||
import sys
|
import sys
|
||||||
import getpass
|
import getpass
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
|
||||||
#######################################################
|
#######################################################
|
||||||
|
|
||||||
|
@ -74,6 +76,18 @@ class AggregateStats(object):
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
|
def banner(msg):
|
||||||
|
res = ""
|
||||||
|
if os.path.exists("/usr/bin/cowsay"):
|
||||||
|
cmd = subprocess.Popen("/usr/bin/cowsay -W 60 \"%s\"" % msg,
|
||||||
|
stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
|
||||||
|
(out, err) = cmd.communicate()
|
||||||
|
res = "%s\n" % out
|
||||||
|
else:
|
||||||
|
res = "%s ********************* \n" % msg
|
||||||
|
return res
|
||||||
|
|
||||||
|
|
||||||
class DefaultRunnerCallbacks(object):
|
class DefaultRunnerCallbacks(object):
|
||||||
''' no-op callbacks for API usage of Runner() if no callbacks are specified '''
|
''' no-op callbacks for API usage of Runner() if no callbacks are specified '''
|
||||||
|
|
||||||
|
@ -226,7 +240,7 @@ class PlaybookCallbacks(object):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def on_task_start(self, name, is_conditional):
|
def on_task_start(self, name, is_conditional):
|
||||||
print utils.task_start_msg(name, is_conditional)
|
print banner(utils.task_start_msg(name, is_conditional))
|
||||||
|
|
||||||
def on_vars_prompt(self, varname, private=True):
|
def on_vars_prompt(self, varname, private=True):
|
||||||
msg = 'input for %s: ' % varname
|
msg = 'input for %s: ' % varname
|
||||||
|
@ -235,10 +249,10 @@ class PlaybookCallbacks(object):
|
||||||
return raw_input(msg)
|
return raw_input(msg)
|
||||||
|
|
||||||
def on_setup_primary(self):
|
def on_setup_primary(self):
|
||||||
print "SETUP PHASE ****************************\n"
|
print banner("SETUP PHASE")
|
||||||
|
|
||||||
def on_setup_secondary(self):
|
def on_setup_secondary(self):
|
||||||
print "\nVARIABLE IMPORT PHASE ******************\n"
|
print banner("VARIABLE IMPORT PHASE")
|
||||||
|
|
||||||
def on_import_for_host(self, host, imported_file):
|
def on_import_for_host(self, host, imported_file):
|
||||||
print "%s: importing %s" % (host, imported_file)
|
print "%s: importing %s" % (host, imported_file)
|
||||||
|
@ -247,4 +261,4 @@ class PlaybookCallbacks(object):
|
||||||
print "%s: not importing file: %s" % (host, missing_file)
|
print "%s: not importing file: %s" % (host, missing_file)
|
||||||
|
|
||||||
def on_play_start(self, pattern):
|
def on_play_start(self, pattern):
|
||||||
print "PLAY [%s] ****************************\n" % pattern
|
print banner("PLAY [%s]" % pattern)
|
||||||
|
|
|
@ -65,9 +65,9 @@ def smjson(result):
|
||||||
|
|
||||||
def task_start_msg(name, conditional):
|
def task_start_msg(name, conditional):
|
||||||
if conditional:
|
if conditional:
|
||||||
return "\nNOTIFIED: [%s] **********\n" % name
|
return "NOTIFIED: [%s]" % name
|
||||||
else:
|
else:
|
||||||
return "\nTASK: [%s] *********\n" % name
|
return "TASK: [%s]" % name
|
||||||
|
|
||||||
def regular_generic_msg(hostname, result, oneline, caption):
|
def regular_generic_msg(hostname, result, oneline, caption):
|
||||||
''' output on the result of a module run that is not command '''
|
''' output on the result of a module run that is not command '''
|
||||||
|
|
Loading…
Reference in New Issue