From f8b23e5721bed34a6eedb616a81ceb0a3694ed4b Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Wed, 16 Oct 2013 09:03:43 +0200 Subject: [PATCH] add a default value for the -d option of ansible-pull Thi permit to simplify the command line to use by using a sensible default, and so reduce the number of incorrect possible choices and setup needed. Among potential incorrect choices is using a fixed directory in /tmp, which could be problematic with a setup whose access is not properly restricted. --- bin/ansible-pull | 7 ++++--- docs/man/man1/ansible-pull.1.asciidoc.in | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bin/ansible-pull b/bin/ansible-pull index 4e1ff7e646..4dd8497c7d 100755 --- a/bin/ansible-pull +++ b/bin/ansible-pull @@ -122,9 +122,10 @@ def main(args): 'Default is %s.' % DEFAULT_REPO_TYPE) options, args = parser.parse_args(args) + hostname = socket.getfqdn() if not options.dest: - parser.error("Missing required directory argument") - return 1 + # use a hostname dependent directory, in case of $HOME on nfs + options.dest = utils.prepare_writeable_dir('~/.ansible/pull/%s' % hostname) options.dest = os.path.abspath(options.dest) @@ -136,7 +137,7 @@ def main(args): 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' % hostname base_opts = '-c local --limit "%s"' % limit_opts repo_opts = "name=%s dest=%s" % (options.url, options.dest) if options.checkout: diff --git a/docs/man/man1/ansible-pull.1.asciidoc.in b/docs/man/man1/ansible-pull.1.asciidoc.in index 809ec00057..f6b64e3903 100644 --- a/docs/man/man1/ansible-pull.1.asciidoc.in +++ b/docs/man/man1/ansible-pull.1.asciidoc.in @@ -52,7 +52,8 @@ OPTIONS *-d* 'DEST', *--directory=*'DEST':: -Directory to checkout repository into. +Directory to checkout repository into. If not provided, a subdirectory of +~/.ansible/pull/ will be used. *-U* 'URL', *--url=*'URL'::