Commit graph

38 commits

Author SHA1 Message Date
mmicael1
a33dccfa61 Add tags options
Add -t OR --tags options to pass to ansible-playbook
2014-11-10 22:56:38 +01:00
Will Thames
1787c29354 Improved inventory handling when inventory does not yet exist
Fixes #8324
Improves #7667
2014-08-22 14:49:09 -04:00
Will Thames
92f9b74a68 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.
2014-08-20 14:28:53 +10:00
Alex Chistyakov
bb1941a906 ansible-pull should respect inventory file settings because, say, Python interpreter path can be non-default on a host 2014-06-05 01:37:41 +04:00
James Tanner
c09e46517e Merge pull request #5864 from stevetjoa/ansible
adding -K flag for ask-sudo-pass to ansible-pull
2014-03-17 15:15:25 -04:00
Michael DeHaan
71977bfe71 Merge pull request #5720 from mschurenko/devel
added random sleep option to ansible-pull
2014-03-16 15:41:17 -05:00
Michael DeHaan
0ab6586222 Merge pull request #5890 from ingmar/ansiblepull-extravars-5707
ansible-pull support for -e (--extra-vars) option (same as ansible-playbook) #5707
2014-03-16 15:33:58 -05:00
James Tanner
e3672dded0 Remove breakpoint 2014-02-26 14:53:36 -05:00
James Tanner
b74105c689 Add --vault-password-file to bin/ansible-pull 2014-02-26 14:52:57 -05:00
Ingmar Hupp
1f0cdc5ec8 ansible-pull support for -e (--extra-vars) option (same as ansible-playbook) #5707 2014-02-05 18:53:37 +00:00
Steve Tjoa
335bc1ee5c adding -K flag for ask-sudo-pass to ansible-pull 2014-02-03 12:20:04 -08:00
Matt
1ef8f279b9 added random sleep option to ansible-pull 2014-01-22 00:01:51 -08:00
James Tanner
78ec7c736f Fixes #3973 Second Revision of live ansible-pull output 2014-01-10 11:18:02 -05:00
James Tanner
ebeaf785b5 Revert "Fixes #3973 live output for ansible-pull"
This reverts commit 3b2a35ae00.
2013-12-19 16:24:46 -05:00
James Tanner
3b2a35ae00 Fixes #3973 live output for ansible-pull
Add a -v/--verbose option to ansible-pull to allow passing -vvvv to
ansible-playbook and to show stdout while the playbook executes
2013-12-19 15:38:15 -05:00
jctanner
2d9087b806 Merge pull request #4484 from mscherer/add_short_hostname
ansible-pull by default will look for local.yml and $fqdn.yml.
2013-11-14 05:32:47 -08:00
Michael Scherer
f8b23e5721 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.
2013-10-18 02:05:41 +02:00
Michael Scherer
92147aff0f also fix the doc, forgot in last commit 2013-10-13 15:34:56 +02:00
Michael Scherer
4b067fa47e ansible-pull by default will look for local.yml and $fqdn.yml.
For a small network ( home, small company ), having to put the FQDN
in each file is a bit tedious, so this patch also add the shorthostname
as a 3rd default if the fqdn is not found.
2013-10-13 15:34:43 +02:00
James Cammarata
51638df48f Minor format fix in ansible-pull related to the -f patch 2013-09-20 22:08:08 -05:00
John Florian
c8a5aabf39 Added -f/--force option to ansible-pull 2013-09-03 16:39:19 -04:00
Stephen Fromm
cc3651592b Extend ansible-pull to support other source repositories
This extends ansible-pull so that it can support using other
source_control modules for checking out a playbook repository
(issue #3372).  This will check to see if the module exists before
it attempts to do the checkout and will exit if the module is not found.
It requires that the module used to check out the repository support the
parameters 'name' and 'version'.  The option -C, --checkout is now
optional and defaults to the module's default behavior for selecting a
branch, tag, or commit value.  For git, this continues to be HEAD.

Other changes include:
* Remove git from help and use generic term(s) where needed.
* Use SortedOptParser from ansible.utils
* More abstraction of common options used between ansible and
  ansible-playbook.
2013-08-20 13:43:26 -05:00
Matt Lesko
b37ecb055c set checkout destination directory to be full path
we chdir into this path and read the playbook/inventory if a
non-absolute path is given on the command line, that will fail
2013-07-05 17:57:01 +00:00
Michael DeHaan
c2988dfdb0 Merge branch 'option-updates' of git://github.com/jlund/ansible into devel
Conflicts:
	bin/ansible-pull
2013-06-30 19:31:37 -04:00
Stavros Korokithakis
53207ddbdf Add --only-if-changed option. 2013-07-01 00:20:58 +03:00
Joshua Lund
dc984d94ac Updates to Ansible command options
* Moved the --list-hosts option that is common to both `ansible` and
  `ansible-playbook` into utils/__init__.py (corrects a FIXME)
* Wrote new help text for the --list-hosts option that makes sense
  for both of the commands that it applies to
* Changed the usage argument in `ansible-playbook` so that it is
  setup in the base_parser method the same way that it is in
  the `ansible` executable
* Updated the help text for several options to correct typos,
  clarify meaning, improve readability, or fix grammatical errors.
  In the case of `ansible-pull`, I changed the help text so that
  it adheres to the same standards as the other executables.
2013-06-26 19:57:31 -06:00
Stephen Fromm
355ab6983c remove errant and unneeded import of ansible.constants 2013-06-01 21:47:38 -07:00
Stephen Fromm
291fb9e944 Help ansible-pull work better in bootstap environment
Add option to specify inventory.  No default is defined since
ansible-playbook already does this and it allows an ansible.cfg in the
git repository to take precedence.
Overall, this should help ansible-pull work with less setup in advance,
which should be helpful in kickstart scenarios.  Much of this was
discussed in issue #2464.
2013-06-01 21:44:52 -07:00
Stephen Fromm
4ae3bee416 Add --limit to calls to ansible and ansible-playbook
--limit takes localhost, FQDN, and 127.0.0.1.
2012-11-11 00:13:59 -08:00
Stephen Fromm
60d3e9f3de Add --purge option to ansible-pull
Removes git checkout after playbook run.
2012-10-12 07:55:22 -07:00
Stephen Fromm
034e8f59ed Clean up auto-selection of playbook and miscellaneous changes
Direct any ansible-pull specific messages to stderr.
Introduce try_playbook() and select_playbook() to remove try/except-y.
2012-10-12 07:55:22 -07:00
Matthew Johnson
0841ed4796 change method of obtaining hostname to match ansible/library/setup 2012-10-12 07:55:22 -07:00
Matthew Johnson
2b24131baa fetch the git repo before trying to find a playbook 2012-10-12 07:55:22 -07:00
Stephen Fromm
788e11f1db Merge commits from copperlight's branch ansible-pull_playbook_parameter branch
Merged commits: 3cd25b5 and ed9fc76.  Some massaging of changes applied.
2012-10-12 07:55:22 -07:00
Michael DeHaan
faed4b5a33 whitespace + remove deprecated YAML parser (migration script lives in examples/scripts and warning was added
in 0.6 release)
2012-08-06 20:07:02 -04:00
Michael DeHaan
a33320d03d Add some comments to ansible-pull and the example playbook 2012-05-01 23:22:23 -04:00
Stephen Fromm
84c9caa805 Simplify ansible-pull to just invoke ansible and ansible-playbook
This eliminates the creation of runner and playbook instances and just
invokes the processes ansible and ansible-playbook.
2012-05-02 09:51:19 -07:00
Stephen Fromm
672794f586 Add ansible-pull
A first stab at a pull-based model for ansible.  This does two things:
    1. Invoke the git module via Runner to set up a git repository on the
       localhost.  It sets up Runner to use transport='local' and forces
       the inventory to just 'localhost'.
    2. Run any playbooks provided.  By default, this wants to run the
       playbook local.yml.  This also sets transport='local' and sets
       the host_list to a list: localhost, fqdn, and hostname.
The reason for setting the host_list and not using override_hosts is
because there may be plays in the playbook that are not meant for a
specific host.  That is, if the git repository is for the entire site
and not host-specific, you don't want to override hosts and apply all
plays to any given host.  This has the downside of potentially running a
play three times if the play is defined for 'hosts: all'.
2012-05-02 09:51:19 -07:00