Commit graph

285 commits

Author SHA1 Message Date
jctanner
189ec15bd5 Merge pull request #4706 from mvo5/bugfix/more-syntax-check
load tasks/vars includes in syntax-check mode as well
2013-11-14 09:46:54 -08: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
James Tanner
91e5569324 Merge pull request #4466 from sfromm/ansible
Add pager support to ansible-doc
2013-11-13 20:32:20 -05:00
jctanner
e08f685507 Merge pull request #3937 from masahide/devel
Supports to the playbook of Process Substitution
2013-11-07 14:50:23 -08:00
Jesse Keating
46554bbc30 Exit 0 with no matched hosts
And also print to stdout not err

This lines up with how ansible-playbook will exit. 0 in the case of no
matched hosts. This makes it easier to script ansible commands w/
variable iventory input which may or may not have an entry for the
specific ansible task being scripted. No matched hosts is acceptable,
but matched hosts w/ failures is not.
2013-11-06 08:08:21 -08:00
Michael Vogt
0b82722484 load tasks/vars includes in syntax-check mode as well 2013-10-28 13:48:50 +01: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
Stoned Elipot
c7217a8f1b Fix 'ansible-doc -l' runtime error following commit 4430d0f
skip "module" not found as plugin, id est directory
2013-10-16 21:58:54 +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
Stephen Fromm
79d6d344d8 Add pager support to ansible-doc
If PAGER is set, or the executable less is present, ansible-doc will use
it to pipe information into so that it can be scrolled through.
If the environment variable LESS is not set, this will set it to FRSX.
2013-10-11 10:21:29 -07:00
James Cammarata
51638df48f Minor format fix in ansible-pull related to the -f patch 2013-09-20 22:08:08 -05:00
James Cammarata
97e3e967a7 Merge branch 'devel' of https://github.com/jflorian/ansible into jflorian-devel 2013-09-20 22:01:50 -05:00
Alan Descoins
ebd8e262d3 Fixed -e "" on ansible-playbook. 2013-09-07 00:28:39 -03:00
John Florian
c8a5aabf39 Added -f/--force option to ansible-pull 2013-09-03 16:39:19 -04:00
YAMASAKI Masahide
ac3f05c720 Take out the spaces inside the parenthesis. 2013-08-25 05:56:57 +09:00
YAMASAKI Masahide
7f9313b2b1 Supports to the playbook of Process Substitution 2013-08-24 17:27:30 +09:00
James Cammarata
d9be910e6e Merge branch 'exit-3-on-dark' of https://github.com/j2sol/ansible into j2sol-exit-3-on-dark 2013-08-22 22:03:34 -05:00
Alek Storm
8c9f84f6f8 Parse --extra-vars as YAML (which includes JSON) 2013-08-22 16:43:15 -07:00
Alek Storm
21d2069a74 Support multiple --extra-vars flags 2013-08-22 00:01:52 -05: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
Jesse Keating
2b96c347dc Exit with status 3 if no failures but unreachable.
Provide hints to playbook callers that a playbook execution had
unreachable vs failures. 2 == failures, 3 == no failures, but
unreachable hosts. 0 continues to be all good.
2013-08-14 13:37:26 -07:00
Michael DeHaan
0988a86653 Misc style fixes. 2013-08-10 17:59:05 -04:00
Andy R
5a47953e7d Never ask for SSH password when using local connection.
With the command line option "-c local", ansible and ansible-playbook
should never ask for a SSH password even if this is set in the config.

Fixes #3720
2013-08-07 08:05:59 -04:00
Alan Descoins
c19c2c7295 ansible-playbook can load extra vars from a file, with "@" syntax 2013-07-23 19:39:39 -03:00
Michael DeHaan
d8e5fc9d1b Remove task count information from task list. 2013-07-21 09:50:14 -04:00
Alan Descoins
04349ec362 Added --skip-tags option to ansible-playbook. 2013-07-16 19:43:58 -03: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
506178542d Merge pull request #3303 from markmandel/feature/sudo_pass
Don't turn on sudo for all tasks when setting the sudo_user or ask_sudo_pass
2013-06-30 16:35:20 -07: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
Mark Mandel
73dda68e18 Don't turn on sudo for all tasks when setting the sudo_user or ask_sudo_pass, 2013-06-21 23:20:12 +10: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
Michael DeHaan
6cd3ba5b06 Allow the group_vars and host_vars directories to be stored alongside the playbook as well as inventory. 2013-06-01 10:38:16 -04:00
Kent Frazier
3316b87059 Keep ansible-playbook from bombing without extra-vars
A recent change to ansible-playbook to support json extra-vars
also inadvertently broke the script when no extra-vars are
provided. Simply checking to make sure it is defined and truthy
should take care of the issue.
2013-05-31 22:37:16 -05:00
Fabio Bonelli
6bef150695 Support JSON in --extra-vars.
If --extra-vars starts with either a '{' or a '[', it will be assumed
we are dealing with JSON and parse the data as such.
2013-05-28 09:46:50 +02:00
Stoned Elipot
d25888f410 Fix empty requirements specifications in modules documentation
And also be liberal in what ansible-doc accepts as an empty
requirements specification.

While here fix a typo in template module documentation
wrt jinja2 overrides example.
2013-05-16 17:15:21 +02:00
Jan-Piet Mens
eeb80c695f Add Requirements to rst template, ansible-doc
tweak position & look of Requirements in rst
tweak APT's notes as per anhj's wish
2013-05-11 16:46:59 +02:00
Jan-Piet Mens
2f76bc9e47 ansible-doc: skip directories (new library/ format) 2013-04-30 08:31:39 +02:00
Michael DeHaan
aa55268514 Adds a logfile for ansible playbooks that can be set by the environment or configuration file. 2013-04-27 10:24:26 -04:00
Michael DeHaan
be947e5266 Resolve merge conflict 2013-04-22 23:57:20 -04:00
Michael DeHaan
89ab3a0b9f Make --list-tasks work nicer with --tags 2013-04-22 23:24:54 -04:00
Michael DeHaan
e6bf01a6b0 Make plugin loader path operations more efficient. 2013-04-20 12:31:14 -04:00
Michael DeHaan
92ddab8a69 Merge pull request #2649 from sergevanginderachter/bin-ansible
make bin/ansible error output consistent for shell module as for the command module when no arguments are given
2013-04-11 12:33:12 -07:00
Michael DeHaan
3e736eaf00 Merge pull request #2622 from skvidal/playbook-start-at-task
implement --start-at-task option to hop to a specific task before starti...
2013-04-11 11:17:24 -07:00
Serge van Ginderachter
94243e983f make bin/ansible error output consistent for shell module as for the command module when no arguments 2013-04-11 19:43:31 +02:00
Michael DeHaan
0be04d2b57 Decided to not deprecate legacy template syntax for now. Backwards compat is important, though the docs will suggest the new way. 2013-04-10 19:21:35 -04:00
Michael DeHaan
b09ef21ec9 Add code to flag legacy templating like $foo.{bar} as deprecated in favor of Jinja2 {{ foo.bar }} so we
can remove the legacy system at a later date.
2013-04-10 17:52:35 -04:00
Seth Vidal
690738ea32 implement --start-at-task option to hop to a specific task before starting running them 2013-04-09 01:53:40 -04:00
Michael DeHaan
0d530f3bf0 Change the retry logic to write a limit file, able to source limit from files by indicating with @filename 2013-04-08 12:36:01 -04:00
Michael DeHaan
c695aa2d6a When playbooks fail, attempt to create an inventory file in the inventory directory that allows rerunning
of the playbook against only the hosts that failed.
2013-04-07 23:37:10 -04:00
Michael DeHaan
bc0be456da Modify output banners to have constant length and use dashes instead
of "-" to be less visually heavy (unless cowsay is installed of course)
2013-04-06 18:52:30 -04:00
Seth Vidal
7687c2caf8 add --step option to ansible-playbooks to let people step through a playbook
one by one - asking for confirmation along the way.

also allows to 'continue' after a certain point
2013-03-11 00:39:05 -04:00
Jan-Piet Mens
396a07bcc7 Add support for additional EXAMPLES string in Ansible modules
return DOC and EXAMPLES as a list
add moduledev explanation
more
2013-02-18 20:02:46 +01:00
Michael DeHaan
c4779d95b8 Removing unused import, 'make pyflakes' is now clean. 2013-02-17 19:49:50 -05:00
Michael DeHaan
5c38248788 Fix crontab doc formatting 2013-02-09 14:29:31 -05:00
Michael DeHaan
e564de3983 Some formatting preferences for --list-hosts and --list-tasks 2013-02-09 11:28:59 -05:00
Michael DeHaan
e231708260 Merge branch 'devel' of git://github.com/schmic/ansible into schmic-devel 2013-02-09 11:24:08 -05:00
Michael DeHaan
a9162a86f2 Very basic --diff option for showing what happens when templates change.
Probably output is not useful if not used with --limit

Works well with --check mode
2013-02-07 22:52:25 -05:00
schmic
1205bbe195 Adds commandline parameter --list-tasks 2013-02-07 22:29:28 +01:00
schmic
dd9e3430e4 No authentication with --syntax-check 2013-02-07 21:09:45 +01:00
Stoned Elipot
82011b043a For ansible --list-hosts benefit apply hosts selection limits early 2013-02-06 14:47:21 +01:00
Michael DeHaan
fed82c2188 This implements a basic --check mode which for now is only implemented on template & copy operations. More detail will be shared with the list
shortly.
2013-02-03 20:34:13 -05:00
Daniel Hokka Zakrisson
9a34c20cc5 Create Play objects for --list-hosts to mimic actual behaviour
This makes --list-hosts work more like actually running the playbook,
and thus gets the correct hosts with regard to includes and similar.

Fixes #1959.
2013-02-03 14:01:55 +01:00
Michael DeHaan
25f52d79d1 Tweak sysctl docs so they'll web-render 2013-01-26 12:58:12 -05:00
Michael DeHaan
36066d8664 Fixup ec2_facts docs parsing 2013-01-26 12:34:30 -05:00
Daniel Hokka Zakrisson
5d067497e3 Enable --list-hosts with a list of hosts 2013-01-13 15:29:32 +01:00
Jan-Piet Mens
52a55a3575 cleanup Example output in ansible-doc 2012-12-14 11:12:26 +01:00
Michael DeHaan
aff6ae47ed Merge pull request #1741 from christopher-snapp/list-hosts
add list-hosts support to bin/ansible
2012-12-12 14:52:06 -08:00
Michael DeHaan
42f769637e Merge pull request #1749 from jpmens/andoc3
ansible-doc: print Notes heading only if there are any
2012-12-12 14:46:42 -08:00
Seth Vidal
0f6669fafe make --list-hosts expand out extra vars in the hosts: field 2012-12-11 14:12:10 -05:00
Jan-Piet Mens
e913fb8732 print Notes heading only if there are any 2012-12-11 08:26:12 +01:00
Christopher A. Snapp
8655f64e68 add --list-hosts support to bin/ansible
add error handling when no arg passed to command module
2012-12-09 09:05:43 -05:00
Jan-Piet Mens
77e060250c CLI: ansible-doc rebased 2012-12-03 09:01:04 +01:00
Jan-Piet Mens
17f31a2a79 CLI: ansible-doc shows lists of modules & module docs on command-line
check path is directory
added manpage & setup
small cleanup
shut up module_formatter in utils to avoid trace print on crud files in library
2012-11-30 21:57:25 -05:00
Daniel Hokka Zakrisson
900790af41 Reuse inventory object created by ansible-playbook in playbook
This reduces the amount of times an inventory script has to be invoked.
2012-11-27 15:24:33 +01:00
Michael DeHaan
20c65bf854 Merge pull request #1629 from dagwieers/list-hosts-plays
Make --list-hosts consider all plays (in multiple playbooks)
2012-11-17 07:40:48 -08:00
Dag Wieers
9ea26c75f9 Make --list-hosts consider all plays (in multiple playbooks)
Currently when more than one playbook is provided on the commandline, ansible-playbook --list-hosts will only consider the first playbook and stop. This change will make it work for the various different playbooks.
2012-11-15 17:47:01 +01:00
Dag Wieers
a259b95556 Fail ansible-playbook when the hosts list (with applied subset) is empty
When the inventory is empty, or the provided --limit subset returns an empty intersection, we don't want to loop over all plays but bail out at the very start.
2012-11-15 15:26:49 +01:00
fdavis
7256c5af1a ansible-playbook verifies playbooks exist before running them
refers to #1345
2012-11-11 18:08:35 -08: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
Michael DeHaan
6f938c9f4c Merge branch 'playbook_ssh_ask_pass' of git://github.com/clatour/ansible into devel
Conflicts:
	examples/ansible.cfg

+ doc tweak
2012-11-03 19:23:38 -04:00
Chandler Latour
f436a8c88b Added config option for default ask for ssh_pass 2012-11-02 10:53:26 -05:00
Brian Coca
604bf9f58a Added config option to control default of asking or not for sudo password
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-10-30 23:36:07 -04:00
Michael DeHaan
be300b562a pyflakes fixes (mostly unused imports, unused vars) 2012-10-30 20:47:05 -04:00
Seth Vidal
41195d0d49 trivial --syntax-check option to ansible to just do the yaml validation
check. Lots of room to make this more interesting - but not today
2012-10-15 17:48:25 -04: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
Aleksej Romanov
05464816c2 Different return codes for different errors. 2012-10-04 17:43:25 +07:00
Aleksej Romanov
01e922aa69 Indicate errors with exit code. 2012-10-04 03:11:14 +07:00
Michael DeHaan
a2f76c1c69 If all hosts in a play fail, fail the whole playbook and don't bother printing out every remaining task. 2012-09-30 21:06:00 -04:00
Michael DeHaan
3017dc92d9 make callbacks modular 2012-08-18 19:43:08 -04:00
Seth Vidal
8e039a6389 add --list-hosts option to ansible-playbook to dump out the hosts
being run against for each playbook
2012-08-15 14:19:45 -04:00
Michael DeHaan
3587ffdef3 Allow /bin/ansible to use --limit 2012-08-11 14:05:24 -04:00
Michael DeHaan
1c81ddf8d4 add the limit option, which can be used to further confine the patterns selected by "hosts:" in ansible-playbooks
to an additional pattern (a subset) specified on the command line.  For instance, a playbook could be reusable
and target "webservers" and "dbservers", but you want to test only in the stage environment, or a few boxes at a time.
2012-08-10 02:45:29 -04:00