Merge pull request #3094 from sfromm/issue2464-redux

Updates to ansible-pull and ansible-pull docs
This commit is contained in:
Michael DeHaan 2013-06-03 09:01:39 -07:00
commit f0d7324e25
2 changed files with 28 additions and 2 deletions

View file

@ -102,6 +102,8 @@ def main(args):
parser.add_option('-C', '--checkout', dest='checkout', parser.add_option('-C', '--checkout', dest='checkout',
default="HEAD", default="HEAD",
help='Branch/Tag/Commit to checkout. Defaults to HEAD.') help='Branch/Tag/Commit to checkout. Defaults to HEAD.')
parser.add_option('-i', '--inventory-file', dest='inventory',
help="specify inventory host file")
options, args = parser.parse_args(args) options, args = parser.parse_args(args)
if not options.dest: if not options.dest:
@ -115,9 +117,12 @@ def main(args):
now = datetime.datetime.now() now = datetime.datetime.now()
print >>sys.stderr, now.strftime("Starting ansible-pull at %F %T") print >>sys.stderr, now.strftime("Starting ansible-pull at %F %T")
inv_opts = 'localhost,'
limit_opts = 'localhost:%s:127.0.0.1' % socket.getfqdn() limit_opts = 'localhost:%s:127.0.0.1' % socket.getfqdn()
git_opts = "repo=%s dest=%s version=%s" % (options.url, options.dest, options.checkout) git_opts = "repo=%s dest=%s version=%s" % (options.url, options.dest, options.checkout)
cmd = 'ansible all -c local --limit "%s" -m git -a "%s"' % (limit_opts, git_opts) cmd = 'ansible all -c local -i "%s" --limit "%s" -m git -a "%s"' % (
inv_opts, limit_opts, git_opts
)
rc = _run(cmd) rc = _run(cmd)
if rc != 0: if rc != 0:
return rc return rc
@ -129,6 +134,8 @@ def main(args):
return 1 return 1
cmd = 'ansible-playbook -c local --limit "%s" %s' % (limit_opts, playbook) cmd = 'ansible-playbook -c local --limit "%s" %s' % (limit_opts, playbook)
if options.inventory:
cmd += ' -i "%s"' % options.inventory
os.chdir(options.dest) os.chdir(options.dest)
rc = _run(cmd) rc = _run(cmd)

View file

@ -12,7 +12,7 @@ ansible-pull - set up a remote copy of ansible on each managed node
SYNOPSIS SYNOPSIS
-------- --------
ansible -d DEST -U URL [ -C CHECKOUT ] ansible -d DEST -U URL [ -C CHECKOUT ] [ -i INVENTORY ] [ <filename.yml> ]
DESCRIPTION DESCRIPTION
@ -35,6 +35,17 @@ ansible-pull runs would be an excellent way to gather and analyze
remote logs from ansible-pull. remote logs from ansible-pull.
OPTIONAL ARGUMENT
-----------------
*filename.yml*::
The name of one the YAML format files to run as an ansible playbook. This can
be a relative path within the git checkout. If not provided, ansible-pull
will look for a playbook based on the host's fully-qualified domain name and
finally a playbook named *local.yml*.
OPTIONS OPTIONS
------- -------
@ -50,6 +61,14 @@ URL of git repository to clone.
Branch/Tag/Commit to checkout. Defaults to 'HEAD'. Branch/Tag/Commit to checkout. Defaults to 'HEAD'.
*-i* 'PATH', *--inventory=*'PATH'::
The 'PATH' to the inventory hosts file. This can be a relative path within
the git checkout.
*--purge*::
Purge the git checkout after the playbook is run.
AUTHOR AUTHOR