Commit graph

126 commits

Author SHA1 Message Date
Serge van Ginderachter
f6a55a3552 Refactor vars_plugins (host/group_vars)
Split out parsing of vars files to per host and per group
parsing, instead of reparsing all groups for each host. This enhances
performance.

Extend vars_plugins' API with two new methods:
* get host variables: only parses host_vars
* get group variables: only parses group_vars for specific group
The initial run method is still used for backward compatibility.

Parse all vars_plugins at inventory initialisation, instead of
per host when touched first by runner. Here we can also loop through
all groups once easily, then parse them.
This also centralizes all parsing in the inventory constructor.

	modified:   bin/ansible
	modified:   bin/ansible-playbook
	modified:   lib/ansible/inventory/__init__.py
	modified:   lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-25 22:12:01 +01:00
jctanner
adbd6865da Merge pull request #6681 from zytek/devel
Properly revert changes introduced in #6579
2014-03-25 13:52:34 -04:00
Jakub Paweł Głazik
08ba18668b Strip() vault password file 2014-03-25 16:10:04 +01:00
James Tanner
9169a11088 Fixes #4777 add --force-handlers option to run handlers even if tasks fail 2014-03-24 10:28:48 -04:00
James Tanner
409044155d Fixes #6579 allow for vault passwords ending with newline chars
Also add a unit test for vaulteditor to verify 1.0 passwords with newline chars.
2014-03-19 14:38:11 -04:00
Michael DeHaan
0dde3b7080 Merge pull request #5895 from trbs/listtasks_honors_limit
make --list-tasks honor --limit
2014-03-16 13:40:13 -05:00
James Tanner
35def422a3 Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook 2014-02-26 11:01:03 -05:00
James Tanner
7fe3db408d Fixes #6082 Set vault password to None by default 2014-02-19 21:26:12 -05:00
James Tanner
427b8dc78d Ansible vault: a framework for encrypting any playbook or var file. 2014-02-18 15:35:12 -05:00
trbs
b7df767065 make --list-tasks honor --limit 2014-02-06 15:49:06 +01:00
Paul Durivage
f72f5a20df Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
This reverts commit c17d0e0357.

Conflicts:
	lib/ansible/runner/connection_plugins/paramiko_ssh.py
2014-01-20 19:19:03 -06:00
James Tanner
c17d0e0357 Revert "Merge pull request #5325 from angstwad/add-su-support"
This reverts commit 6f4bfa2cff, reversing
changes made to c91ba3a7c7.
2014-01-20 16:10:11 -05:00
Paul Durivage
c95be4ceaa Make sudo and su command line arguments mutually exclusive 2014-01-20 11:25:10 -06:00
Paul Durivage
4088243deb Proposing fix for Issue #4324; adding support for su in connection plugins ssh, ssh_alt
Fixes for ssh_alt support, adding in references to in_data where appropriate
2014-01-20 11:25:10 -06:00
Michael DeHaan
81bc44ccc2 Don't show tracebacks on Control-C. 2013-12-26 11:41:05 -05:00
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
e08f685507 Merge pull request #3937 from masahide/devel
Supports to the playbook of Process Substitution
2013-11-07 14:50:23 -08:00
Michael Vogt
0b82722484 load tasks/vars includes in syntax-check mode as well 2013-10-28 13:48:50 +01:00
Alan Descoins
ebd8e262d3 Fixed -e "" on ansible-playbook. 2013-09-07 00:28:39 -03: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
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
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
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
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
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
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
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
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