From 92f9b74a68f51e31517f832e319902496b12eabd Mon Sep 17 00:00:00 2001 From: Will Thames Date: Wed, 20 Aug 2014 14:19:11 +1000 Subject: [PATCH] Restrict ansible-pull to only do scm checkout once This addresses a bug in ansible-pull where running ansible-pull with an existing inventory causes the ansible job that does the SCM checkout to run twice - once for localhost and once for the fully qualified hostname. This can cause a race condition, and usually results in one of the ansible checkouts failing because one of the scm checkouts has its references updated underneath it. Although the SCM checkout actually succeeds, ansible fails with non-zero exit status, and so ansible-pull does not continue. Now that localhost is implicit for ansible runs, the ansible scm checkout can be done using just localhost as a target. --- bin/ansible-pull | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/ansible-pull b/bin/ansible-pull index 8c624f4ef2..7e3de3aeb8 100755 --- a/bin/ansible-pull +++ b/bin/ansible-pull @@ -169,7 +169,7 @@ def main(args): if path is None: sys.stderr.write("module '%s' not found.\n" % options.module_name) return 1 - cmd = 'ansible all -i "%s" %s -m %s -a "%s"' % ( + cmd = 'ansible localhost -i "%s" %s -m %s -a "%s"' % ( inv_opts, base_opts, options.module_name, repo_opts )