mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-03 23:14:02 -07:00
Adds a logfile for ansible playbooks that can be set by the environment or configuration file.
This commit is contained in:
parent
515fbd5a17
commit
aa55268514
5 changed files with 68 additions and 27 deletions
15
bin/ansible
15
bin/ansible
|
@ -27,7 +27,6 @@ from ansible import utils
|
|||
from ansible import errors
|
||||
from ansible import callbacks
|
||||
from ansible import inventory
|
||||
|
||||
########################################################
|
||||
|
||||
class Cli(object):
|
||||
|
@ -84,17 +83,17 @@ class Cli(object):
|
|||
inventory_manager.subset(options.subset)
|
||||
hosts = inventory_manager.list_hosts(pattern)
|
||||
if len(hosts) == 0:
|
||||
print >>sys.stderr, "No hosts matched"
|
||||
callbacks.display("No hosts matched", stderr=True)
|
||||
sys.exit(1)
|
||||
|
||||
if options.listhosts:
|
||||
for host in hosts:
|
||||
print ' %s' % host
|
||||
callbacks.display(' %s' % host)
|
||||
sys.exit(0)
|
||||
|
||||
if ((options.module_name == 'command' or options.module_name == 'shell')
|
||||
and not options.module_args):
|
||||
print >>sys.stderr, "No argument passed to %s module" % options.module_name
|
||||
callbacks.display("No argument passed to %s module" % options.module_name, color='red', stderr=True)
|
||||
sys.exit(1)
|
||||
|
||||
sshpass = None
|
||||
|
@ -124,7 +123,7 @@ class Cli(object):
|
|||
)
|
||||
|
||||
if options.seconds:
|
||||
print "background launch...\n\n"
|
||||
callbacks.display("background launch...\n\n", color='cyan')
|
||||
results, poller = runner.run_async(options.seconds)
|
||||
results = self.poll_while_needed(poller, options)
|
||||
else:
|
||||
|
@ -147,6 +146,10 @@ class Cli(object):
|
|||
########################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
callbacks.display("", log_only=True)
|
||||
callbacks.display(" ".join(sys.argv), log_only=True)
|
||||
callbacks.display("", log_only=True)
|
||||
|
||||
cli = Cli()
|
||||
(options, args) = cli.parse()
|
||||
try:
|
||||
|
@ -158,6 +161,6 @@ if __name__ == '__main__':
|
|||
sys.exit(2)
|
||||
except errors.AnsibleError, e:
|
||||
# Generic handler for ansible specific errors
|
||||
print "ERROR: %s" % str(e)
|
||||
callbacks.display("ERROR: %s" % str(e), stderr=True, color='red')
|
||||
sys.exit(1)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue