Commit graph

1853 commits

Author SHA1 Message Date
James Cammarata
ba38d6bc16 Adding support for hashed known_hosts entries
Fixes Issue #3716 - SSH known host checking needs to understand
hashed known hosts
2013-08-02 11:08:02 -05:00
Brian Coca
581a0c9f59 now correctly 'types' value pairs that are passed as options to jinja
override
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-08-01 21:08:23 -04:00
Michael DeHaan
0335d05f43 Check against None around playbook basedir 2013-08-01 20:44:19 -04:00
Michael DeHaan
bdef7f1774 Merge pull request #3711 from ashorin/devel
Allow --diff on UTF-8 encoded files and templates
2013-08-01 17:16:32 -07:00
Michael DeHaan
44d060628e Merge pull request #3706 from lorin/sudo_user_breakage
Fix sudo_user copy error
2013-08-01 17:15:26 -07:00
Michael DeHaan
daf5ecc7c9 Merge pull request #3684 from stoned/fix-3668
Add extra module path early during playbook parsing.
2013-08-01 17:14:35 -07:00
Michael DeHaan
83481b32cc Merge pull request #3657 from zqad/devel
Fix playbook-local host_vars when running from .
2013-08-01 17:13:04 -07:00
Michael DeHaan
3ebbb56479 Merge pull request #3654 from MaxIV-KitsControls/devel
Fix nested loop for more than 3 elements
2013-08-01 17:11:26 -07:00
Michael DeHaan
7813290969 Merge pull request #3645 from stoned/stringify-conditional-2
stringify conditional before handing it to Jinja2 for evaluation.
2013-08-01 17:08:34 -07:00
Andrey Shorin
664215eb02 Allow --diff on UTF-8 encoded files and templates 2013-07-31 15:58:32 +04:00
Lorin Hochstein
a303fca193 Fix sudo_user copy regression
Treat errno 13 (permission denied) as one of the special cases in
atomic_move.

This type of error can occur because of sudo'ing to non-root user.

Fixes #3705
2013-07-30 16:14:29 -04:00
Timothy Appnel
11beb38c66 Added support of an optional setup method for action modules like rsync that need to alter the connection and other inject data before it's established. 2013-07-29 19:10:43 -04:00
Matt Spaulding
5d15515bbf Add indexed_items lookup plugin 2013-07-28 13:54:17 -07:00
Stoned Elipot
841093921b Add extra module path early during playbook parsing.
This should fix issue #3668

Also prevent an extra module path to be added multiple times.
2013-07-28 18:47:26 +02:00
Jonas Eriksson
16efb45735 Fix playbook-local host_vars when running from .
Since ansible 1.2, it became possible to place a host_vars
directory in the same directory as a playbook, making it possible
to keep host_vars local to that playbook there. However, due to
python's os.path.dirname, a action such as:

 $ ansible-playbook pb.yml

..would not pick up the host_vars as os.path.dirname("pb.yml")
returns "", unlike the unix command dirname that would return
".". Substituting "pb.yml" on the command line with "./pb.yml"
would do the trick, but is not always intuitive. This patch
solves the problem until python solves issue18547 [1].

[1] http://bugs.python.org/issue18547
2013-07-24 18:33:06 +02:00
Vincent Hardion
09ef7751e1 Fix nested loop for more than 3 elements
- combine flatten list for each nested level instead once at the end
2013-07-24 14:19:13 +02:00
Brian Coca
576962d335 now if you set fork to 0 or a number higher than the number of hosts, it
will be readjusted to the number of hosts runner is going to deal with.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-23 20:44:06 -04:00
Stoned Elipot
a1503c4d59 stringify conditional before handing it to Jinja2 for evaluation.
This should fix simple conditionals like:

    when: ansible_selinux

While here add tests for ansible.utils.check_conditional() in
"jinja2_compare mode".
2013-07-23 22:24:53 +02:00
WAKAYAMA Shirou
0ce99e391f fix: if a path is symlink and trying to chmod, OSError Exception will be raised. 2013-07-23 22:14:48 +09:00
Michael DeHaan
f0eafff1b4 Merge pull request #3621 from sergevanginderachter/rename2flattened
also rename plugin name in error message
2013-07-22 10:32:38 -07:00
Ralph Tice
2383a8205c changed role path template to read all vars instead of just extra_vars 2013-07-22 09:59:26 -05:00
Serge van Ginderachter
b40295910d also rename plugin name in error message 2013-07-22 16:47:36 +02:00
Michael DeHaan
2fe25f19dc Fix to group_by module as a result of previous conditional upgrades. 2013-07-22 10:11:19 -04:00
Michael DeHaan
e3f213e030 Fixup error reporting. 2013-07-22 08:35:31 -04:00
Michael DeHaan
c07dd07767 Add raw copy support (raw=yes), tweak tempfile error message string. 2013-07-22 08:25:55 -04:00
Michael DeHaan
0cf5e5cec3 Merge branch 'devel' of git://github.com/bradleyy/ansible into together 2013-07-21 11:47:05 -04:00
Michael DeHaan
0756aa406a Change conditional operation workflow.
Conflicts:

	lib/ansible/utils/__init__.py
2013-07-21 10:37:02 -04:00
Michael DeHaan
7f462a346a Work in progress on merging changed_when. 2013-07-21 10:34:47 -04:00
Michael DeHaan
88720516a1 Merge branch 'changed_when' of git://github.com/stoned/ansible into changed_when 2013-07-21 10:14:03 -04:00
Michael DeHaan
f592340f7f Merge branch 'playbook-skip-tags' of git://github.com/dekked/ansible into skip_tags 2013-07-21 09:43:23 -04:00
Michael DeHaan
3baa55a314 Merge branch 'devel' of git://github.com/sjmudd/ansible into sjmudd_ranges 2013-07-21 09:31:46 -04:00
Michael DeHaan
62b39d3de5 Fix for saving conditionals in variable expressions. 2013-07-21 08:52:00 -04:00
Michael DeHaan
bf70dfc1a0 When a role/include has a conditional, add that conditional ahead of any on the task, not behind, so it can short circuit. 2013-07-20 18:34:24 -04:00
Michael DeHaan
419661542b Added some pipes.quote ops to make sure paths with spaces in them are ok. 2013-07-20 18:28:11 -04:00
Michael DeHaan
192d9f8b89 Merge pull request #3607 from stoned/use-AnsibleFilterError
Use AnsibleFilterError exception
2013-07-20 14:58:48 -07:00
Stoned Elipot
667ad2480e Use AnsibleFilterError exception 2013-07-20 23:39:25 +02:00
Stoned Elipot
e7a733a6be Quote pathnames of roles' tasks and handlers files so that _load_tasks() can tokenize them properly
With the help of AlejandroTrev's eagle eyes. Thanks !
2013-07-20 23:25:46 +02:00
Michael DeHaan
0f26439234 Remove variable per pyflakes 2013-07-20 12:52:17 -04:00
Michael DeHaan
e1167d6977 tweak indentation for 'make pep8' 2013-07-20 12:48:11 -04:00
Michael DeHaan
0f4229f6c4 Merge pull request #3462 from stoned/filtererror
Introduce exception AnsibleFilterError and use it in Jinja filters.  Ign...
2013-07-20 09:12:26 -07:00
Brian Coca
dafbcf87d3 changed atomic_move to be more 'optimistic' which helps deal with corner
cases and avoid usless work.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-20 12:07:00 -04:00
Michael DeHaan
c10c2cae4e Merge branch 'ansible_sudo_at_role_level' of git://github.com/jeromew/ansible into sudo_role 2013-07-20 11:05:38 -04:00
Michael DeHaan
f7dec4f8f4 Rename plugin. 2013-07-20 11:02:16 -04:00
Michael DeHaan
9dec701728 Merge pull request #3559 from sergevanginderachter/flat_list
Introduce flat_list lookup plugin
2013-07-20 07:59:44 -07:00
Michael DeHaan
7d2585caf7 Merge pull request #3577 from Tinche/extra-vars-in-playbook-includes
Enabled the use of extra vars in playbook file paths when including play...
2013-07-20 07:37:35 -07:00
Brian Coca
c8d6e5be0b missing self in self method usages
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-19 14:46:35 -04:00
Michael Vogt
9caef884e1 fail early on the wrong sudo password instead of waiting until the timeout happens 2013-07-19 10:23:00 -04:00
Michael DeHaan
c98b20b2cf Slight style preferences. 2013-07-19 09:22:17 -04:00
Sharif Olorin
5fcbfa984d More informative error message on failure to resolve tmpdir 2013-07-19 09:19:40 -04:00
Sharif Olorin
1a7a779e88 Handle SSH failures when creating remote tmpdir
Bail out if the SSH command fails rather than continuing with an
empty tmp variable.
2013-07-19 09:19:26 -04:00
Michael DeHaan
8a3ea0774a Update error message since user may have specified connection type via non command line or by default. 2013-07-19 09:09:04 -04:00
Michael DeHaan
5eea4b56fa Merge pull request #3591 from cocoy/fix_3567
Allow roles to be interpolated from --extra-vars
2013-07-19 06:04:59 -07:00
Michael DeHaan
7965bc729b Merge pull request #3588 from Atte/devel
Check for existence of isatty on stdout before calling it
2013-07-19 06:04:31 -07:00
Rodney Quillo
a4e829c874 Allow roles to be interpolated from --extra-vars 2013-07-19 18:28:21 +08:00
Atte Virtanen
511c7c858d Check for existence of isatty on stdout before calling it 2013-07-19 11:06:31 +03:00
Brian Coca
f6c99a69db switched from sestatus to selinuxenabled as per recommendation
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-19 00:55:41 -04:00
Brian Coca
98cc29f9fd now returns fatal error if operation on selinux enabled target is
attempted w/o selinux python bindings
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-18 22:06:26 -04:00
jeromew
de0bc96b70 Implement sudo/sudo_user at the include and role levels 2013-07-18 22:32:56 +00:00
Tin Tvrtkovic
4a732c1e9f Enabled the use of extra vars in playbook file paths when including playbooks from other playbooks. 2013-07-18 22:45:18 +02:00
Serge van Ginderachter
730b368259 Introduce flat_list lookup plugin
- hosts: localhost
    gather_facts: False
    tasks:
    - debug: msg="{{item}}"
      with_flat_list:
      - a
      - - b
        - c
        - d
        - - e
        - f
        - - g
          - h
      - i
      - j
      - - k
        - l

  # note: main list or list (sub)items can also be set as a variable

  TASK: [debug msg="{{item}}"] **************************************************
  ok: [localhost] => (item=a) => {"item": "a", "msg": "a"}
  ok: [localhost] => (item=b) => {"item": "b", "msg": "b"}
  ok: [localhost] => (item=c) => {"item": "c", "msg": "c"}
  ok: [localhost] => (item=d) => {"item": "d", "msg": "d"}
  ok: [localhost] => (item=e) => {"item": "e", "msg": "e"}
  ok: [localhost] => (item=f) => {"item": "f", "msg": "f"}
  ok: [localhost] => (item=g) => {"item": "g", "msg": "g"}
  ok: [localhost] => (item=h) => {"item": "h", "msg": "h"}
  ok: [localhost] => (item=i) => {"item": "i", "msg": "i"}
  ok: [localhost] => (item=j) => {"item": "j", "msg": "j"}
  ok: [localhost] => (item=k) => {"item": "k", "msg": "k"}
  ok: [localhost] => (item=l) => {"item": "l", "msg": "l"}
2013-07-17 13:59:41 +02:00
Alan Descoins
04349ec362 Added --skip-tags option to ansible-playbook. 2013-07-16 19:43:58 -03:00
Antti Rasinen
b12cc909a9 Fix pretty_bytes for exa- and zettabytes 2013-07-16 13:09:56 +03:00
Brian Coca
18cb155bd5 now ANSIBLE_KEEP_REMOTE_FILE acts as boolean
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-07-14 22:08:36 -04:00
Bradley Young
23557b6e5a change the name from transpose to "together". Change to use itertools.izip_longest() rather than method cribbed from nested.py 2013-07-14 16:31:37 -07:00
Stoned Elipot
eb45f07ae3 Introduce 'changed_when' keyword to override a task's changed status with the evaluation of a Jinja2 expression 2013-07-14 21:07:45 +02:00
Bradley Young
ea93a36b10 Adding transpose lookup method. This will matrix transpose arrays that are passed in, and then work like items over the resulting list of lists. e.g.:
Transpose a list of arrays:
    [1, 2, 3], [4, 5, 6] -> [1, 4], [2, 5], [3, 6]
    Replace any empty spots in 2nd array with "":
    [1, 2], [3] -> [1, 3], [2, ""]
2013-07-11 23:45:03 -07:00
Michael DeHaan
fba1f7ef42 Revert "expand vars like $HOME used in config values too" -- breaks remote_tmp if set.
This reverts commit e5ff35bbdb.
2013-07-11 17:27:17 -04:00
Michael DeHaan
afcd869487 Merge pull request #3451 from sergevanginderachter/template_ansible_ssh_host
allow ansible_ssh_host to be templated
2013-07-11 06:04:13 -07:00
Michael DeHaan
90dfc115d6 Merge pull request #3463 from stoned/filterskipped
Add Jinja2 filter 'skipped' to test for a registered variable from a ski...
2013-07-11 05:26:25 -07:00
Michael DeHaan
279247dfac Merge pull request #3464 from stoned/filterquote
Add Jinja2 filter 'quote' to quote string for shell usage
2013-07-11 05:25:43 -07:00
Andreas Piesk
e5ff35bbdb expand vars like $HOME used in config values too 2013-07-09 20:33:33 +02:00
Lasse Borchard
8c8b4d56fc Fixed indention of vv() output 2013-07-08 11:18:33 +02:00
Stoned Elipot
247322bb16 Add Jinja2 filter 'quote' to quote string for shell usage 2013-07-08 00:37:23 +02:00
Stoned Elipot
906746b1f0 Add Jinja2 filter 'skipped' to test for a registered variable from a skipped task 2013-07-07 22:13:14 +02:00
Stoned Elipot
2d88c70cd5 Introduce exception AnsibleFilterError and use it in Jinja filters. Ignore this exception when trying to find the name of a task for display (callback) purpose. 2013-07-07 19:18:32 +02:00
Michael DeHaan
cf6e1f8db9 Make it possible to tell paramiko to not record new host keys, which can be slow with a large number of hosts.
-c ssh is preferred in most cases if you have ControlPersist available, otherwise if you are comfortable you
can turn off recording while leaving host key checking on, etc.
2013-07-05 22:06:54 -04:00
Michael DeHaan
14818af446 Merge pull request #3450 from tonk/sudo
Repair issue #3447
2013-07-05 16:08:29 -07:00
Michael DeHaan
aa9385411d Merge pull request #3443 from ajsalminen/arg_unicode_fix
Use .encode() instead of str() to support unicode arguments.
2013-07-05 15:26:29 -07:00
Ton Kersten
37ee361be1 Repair issue #3447 2013-07-05 19:10:36 +02:00
Serge van Ginderachter
129c7522d9 allow ansible_ssh_host to be templated
Use case: e.g. dual homed hosts on production en management network

The inventory_hostname is the regular host name and matches the
dns name on the production network; ansible connects to the host
through a management network; the dns name on the management network
is standardized and equals ${inventory_hostname}-mgt.mynetwork.com

Now this can be configured as the default in group_vars/all:

   ansible_ssh_host: {{ inventory_hostname + '-mgt.mynetwork.com' }}
2013-07-05 18:05:26 +02:00
Michael DeHaan
2cb7c30834 Improve interlaced output prevention when asking for host key approval. 2013-07-04 18:17:45 -04:00
Michael DeHaan
c55adc9ac9 Default to 'smart' transport, which will use OpenSSH if it can support ControlPersist. 2013-07-04 16:47:17 -04:00
Antti Salminen
d7c6cf10c2 Use .encode() instead of str() to support unicode arguments.
str() throws an UnicodeEncodeError for code points that cannot be
represented in 7-bit ASCII. This makes it impossible to use any
non-ASCII characters in module arguments. Using encode('utf-8')
gives the desired result.
2013-07-04 23:16:38 +03:00
Michael DeHaan
1683d44d2e Lock around SSH connectivity to new hosts in host checking mode such that prompts for host approval
messages do not get interlaced.
2013-07-04 16:04:31 -04:00
Michael DeHaan
cb26945d54 Close the named temporary file. 2013-07-05 01:24:08 -04:00
Michael DeHaan
3b1aa092f8 Closing stdin too early. 2013-07-05 01:20:08 -04:00
Michael DeHaan
ffadbc520a Enable paramiko to ask whether to add keys to known hosts. 2013-07-04 14:05:41 -04:00
Michael DeHaan
9db4f7a9a6 Makes host key checking the default behavior but can be disabled in ansible.cfg or by environment variable. 2013-07-03 16:47:20 -04:00
Stoned Elipot
0b3483cf03 Add Jinja2 filter |bool : return boolean interpretation of the value
'yes', 'on', '1', 'true', insensitively, and 1 are true,
 everything else is false
2013-07-03 02:13:19 +02:00
Michael DeHaan
6ba72854ee Merge pull request #3296 from ninetythirty/devel
Added flexible filename handling for main files
2013-06-30 16:42:57 -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
Michael DeHaan
2bbad5dae3 Merge pull request #3275 from madduck/implicit-negations
Enable negated patterns
2013-06-30 16:12:37 -07:00
Michael DeHaan
f2fc185651 Styling: indentation 2013-06-30 18:49:49 -04:00
Michael DeHaan
c265c761d0 Slight message tweak. 2013-06-30 18:27:15 -04:00
Michael DeHaan
e6adc2f066 Merge branch 'devel' of git://github.com/arturaz/ansible into devel 2013-06-30 18:25:33 -04:00
Michael DeHaan
146455fd0a Merge pull request #3375 from jhoekx/mandatory-filter
Add a mandatory jinja2 filter for use in templates.
2013-06-30 14:16:17 -07:00
Michael DeHaan
98e7eaf07a Merge pull request #3316 from dsedivec/devel
expanduser on each component of plug-in paths
2013-06-30 09:12:15 -07:00
Stoned Elipot
b7f89837bb Remove redundant call to _get_path() in PluginLoader.find_plugin() 2013-06-30 16:38:26 +02:00
Jeroen Hoekx
a37f55d32e Add a mandatory jinja2 filter for use in templates. 2013-06-29 16:01:34 +02: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
Jesse Keating
e1dd83f2b6 add_host should not be a changed action
The action doesn't actually change anything on a system, so setting
the status to changed is wrong. add_host is much like set_fact in that
regard.

Since changed is False by default, there is no need to explicity set
it, so just create an empty dict for result and add to it from there.
2013-06-25 10:58:55 -07:00
Arturas Slajus
9be93d6ac7 Better error for fireball + sudo mode. 2013-06-25 10:45:01 +03:00
Dale Sedivec
b32131c867 expanduser on each component of plug-in paths
ansible.constants was calling expanduser (by way of shell_expand_path)
on the entire configured value for the library and *_plugins
configuration values, but these values have always been interpreted as
multiple directories separated by os.pathsep.  Thus, if you supplied
multiple directories for one of these values, typically only the first
(at least on *nix) would have e.g. "~" expanded to HOME.

Now PluginLoader does expansion on each individual path in each of
these variables.
2013-06-22 17:01:12 -05:00
Ninety Thirty
7b1e87b62d Added flexible filename handling for main files
tasks, handlers, and vars main files can now be any of main, main.yml, or main.yaml
2013-06-20 22:03:17 -06:00
martin f. krafft
fd02443d42 Enable negated patterns
A host pattern of the form '!foo' by itself does not work, but
'all:!foo' does. If the first pattern is a negation, this commit
automatically prepends 'all'.

Signed-off-by: martin f. krafft <madduck@madduck.net>
2013-06-20 07:55:35 +02:00
Michael DeHaan
010440dc47 Merge pull request #3114 from laggyluke/roles_combine_vars
Added basic support for hash_behaviour=merge in roles
2013-06-19 19:27:27 -07:00
Michael DeHaan
fc45470162 Merge branch 'with_inventory_hostnames' of git://github.com/sdossett/ansible into inv_hostnames 2013-06-19 22:01:57 -04:00
Michael DeHaan
0ce7996bb6 Merge pull request #3266 from trbs/20130619_first_found
enable use of multiple terms in first_found
2013-06-19 18:39:29 -07:00
Michael DeHaan
d2721526de Small tweak, don't merge conditionals, just evaluate each in turn. 2013-06-19 21:18:05 -04:00
Michael DeHaan
d9c0a5c37d Revert "now modules can implement with_items list globbing w/o updating"
This reverts commit 4942a06bc2.

Conflicts:

	lib/ansible/runner/__init__.py
2013-06-19 19:00:18 -04:00
trbs
87c7fa9138 enable use of multiple terms in first_found 2013-06-19 16:37:29 +02:00
George Miroshnykov
c642ba77ae Added basic support for hash_behaviour=merge in roles
Dict vars passed to roles are now properly merged
instead of simply overriding dict vars that are
coming from vars_files.
2013-06-19 09:14:20 +03:00
Jesse Keating
1074896105 make name the parameter, with hostname as alias
name is used throughout Ansible, it's the "standard". This change
applies that standard to the add_host routine and updates the docs to
reflect that. Related to https://github.com/ansible/ansible/pull/3254
2013-06-18 21:11:52 -07:00
Michael DeHaan
fc2d25eb82 Merge pull request #3127 from bennojoy/devel
bug fix for #3077, environment settings for script
2013-06-18 17:57:10 -07:00
Michael DeHaan
132c89e681 Merge branch 'callbackinit' of git://github.com/sergevanginderachter/ansible into devel 2013-06-18 20:52:43 -04:00
Michael DeHaan
7193ff5fbf Merge pull request #3250 from gildegoma/more_magical_ansible_ssh_user
Make 'ansible_ssh_user' available in templates
2013-06-18 17:08:29 -07:00
Michael DeHaan
2123507315 Merge branch 'sha256' of git://github.com/jlund/ansible into devel
Conflicts:
	library/network/get_url
2013-06-18 14:46:57 -04:00
Michael DeHaan
92754065bf Remove debug statement. 2013-06-18 14:41:52 -04:00
Michael DeHaan
5a504e3a3b Tweak error messages for undefined variables feature. 2013-06-18 13:30:02 -04:00
Michael DeHaan
637983cf31 cleanup example config file + Squashed commit of the following:
commit c36b66dc952dfff91043ecbca56cf3f1f8f00703
Merge: 240d7bf f4cf934
Author: Michael DeHaan <michael@ansibleworks.com>
Date:   Tue Jun 18 13:04:51 2013 -0400

    Merge branch 'unevaluated-vars' of git://github.com/lorin/ansible into lorin_undefined

    Conflicts:
    	lib/ansible/runner/__init__.py

commit f4cf934367
Merge: 2531440 07a1365
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu Jun 6 11:07:41 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 253144045c
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu Jun 6 11:06:37 2013 -0400

    Fail template from file on undefined vars

    If config option is set, raise an exception if templating from a
    file and a variable is undefined.

commit aecb71d8b7
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Wed Jun 5 17:12:12 2013 -0400

    Add fail_on_undefined flag

    Add a fail_on_undefined flag to the template and template_from_string methods.

    If this flag is true, then re-raise the ninja2.excpetions.UndefinedError instead of
    swallowing it.

commit cbb1808f05
Merge: d4bbf49 41425fb
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Wed Jun 5 16:14:12 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit d4bbf492b0
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Mon Jun 3 19:46:13 2013 -0400

    template: Raise UndefinedError exception

    In template_from_string, raise an undefined error if it occurs.

    Have the caller catch it and throw an AnsibleUndefinedVariable

commit c947802805
Merge: 8d919d6 be33bcf
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Mon Jun 3 10:09:43 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 8d919d6c97
Merge: 0f68ad8 b8630d2
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu May 30 16:27:48 2013 -0400

    Merge branch 'devel' into unevaluated-vars

commit 0f68ad8193
Author: Lorin Hochstein <lorin@nimbisservices.com>
Date:   Thu May 30 14:32:03 2013 -0400

    Optionally fail task on undefined variables

    This patch introduces a new configuration option called
    error_on_undefined_vars, which defaults to false.

    If this option is set to true, then a task which has unevaluated
    variables in its arguments will fail instead of running. Output looks
    like this:

        TASK: [set rabbitmq password] *************************************************
        fatal: [10.20.0.7] => Undefined variables: rabbitmq_user, rabbitmq_password
2013-06-18 13:24:30 -04:00
Gilles Cornu
48fe7ac19d Enlarge scope of 'ansible_ssh_user' magic variable
Allow to use ansible_ssh_user variable in `sudo_user` or `when` clauses
2013-06-18 17:53:52 +02:00
Scott Sturdivant
b10b676158 Print the default value if one is provided. 2013-06-17 14:15:31 -06:00
Michael DeHaan
e128e8b563 Merge pull request #3162 from strawlab/apt-key-binary-fix
allow apt-key module to work with binary key
2013-06-16 20:27:10 -07:00
Michael DeHaan
aa340c1508 Merge pull request #3169 from Debilski/fix-duplicate-host-reads
Allow inventory to be read from a pipe
2013-06-16 20:22:54 -07:00
Michael DeHaan
70a9be27f6 Merge pull request #3217 from dagolden/topic/late-sudo_user
Expand sudo_user after variable merging
2013-06-16 19:56:01 -07:00
Michael DeHaan
d9f91be34a Merge pull request #3227 from bcoca/modules_wantlist
implementing with_items list globbing made easier for modules
2013-06-16 19:29:02 -07:00
trbs
a4223e119d fixed x-bits in git 2013-06-16 22:22:16 -04:00
Brian Coca
4942a06bc2 now modules can implement with_items list globbing w/o updating
hardcoded lists in ansible code, just add WITH_ITEMS_USES_LIST in a
comment anywhere, and of course, support recieving params as list.

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-06-15 16:28:43 -04:00
David Golden
d65f45f0b2 Expand sudo_user after variable merging
Previous commit c3659741 expanded sudo_user during task construction,
but this is too early as it does not pick up variables set during
the play.

This commit moves sudo_user expansion to the runner after variables
have been merged.
2013-06-14 09:59:31 -04:00
Serge van Ginderachter
2a7f9df109 add support for callback_plugins/ relative to playbook 2013-06-12 23:54:00 +02:00
Michael DeHaan
404b082d82 Version bump and assorted things to start new development version. 2013-06-10 15:34:52 -04:00
Michael DeHaan
3d21dab705 Small fix so template plugins can see inject variables. 2013-06-10 14:23:48 -04:00
Rike-Benjamin Schuppner
71afb9e432 Use with guard for file reads. 2013-06-10 17:16:31 +02:00
Rike-Benjamin Schuppner
deaf499ba1 Remove duplicate host file reads by removing a legacy check.
This allows using a form such as

    ansible -i <( arbitrary command ) all -m ping
2013-06-10 17:15:12 +02:00
Andrew Straw
94e66ef558 allow apt-key module to work with binary key 2013-06-09 20:03:28 +00:00
Chris Church
d1de7839d7 Renamed on_no_hosts_matched/on_no_hosts_remaining to correct names in noop callback, added methods to callback plugin examples. 2013-06-09 12:19:07 -04:00
Chris Church
3f17a39238 Set current play/task to None for callback context when finished running the current play/task. 2013-06-09 12:17:57 -04:00
Simon J Mudd
25822330a2 Add support for multiple ranges in a host
e.g.  db[01:10:3]node-[01:10]

- to do this we split off at the first [...] set, getting the list
  of hosts and then repeat until none left.
- also add an optional third parameter which contains the step. (Default: 1)
  so range can be [01:10:2] -> 01 03 05 07 09
2013-06-06 22:27:30 +02:00
bennojoy
017e7f24ed bug fix for #3077, environment settings for script 2013-06-05 19:59:39 +05:30
Joshua Lund
2ce7f136b2 * Added a sha256 method to module_common
* Added a sha256sum parameter to the get_url module to enable
cryptographic verification of downloaded files
* Fixed a few typos in the documentation
2013-06-04 23:28:28 -06:00
Chris Jacobs
588d4080df don't want to ignore explicit cwd 2013-06-04 21:06:49 -07:00
Chris Jacobs
69db160e2f Skip dotfile in hosts dirs 2013-06-04 18:16:09 -07:00
Serge van Ginderachter
f1cf81b086 optimization when adding child groups 2013-06-04 11:25:59 +02:00
Peter Hudec
e8ff3c43ad fixed first_available_file and roles support
for copy and template action
2013-06-03 22:47:50 +02:00
Steven Dossett
e0a15d0c50 Updated to support inventory options from command line 2013-06-03 12:42:52 -04:00
Michael DeHaan
c52abd40b0 Fix for the directory inventory source where depth information on the group was being discarded
due to initial copy.  New model will reuse the first object and copy attributes on the second.
2013-06-03 11:41:56 -04:00
Michael DeHaan
be33bcf16f Merge pull request #3105 from shirou/devel
fix utf-8 named task failed with --step.
2013-06-03 07:03:17 -07:00
Michael DeHaan
3783dc42d4 normalize path 2013-06-03 09:57:02 -04:00
WAKAYAMA Shirou
66247042a5 fix utf-8 named task failed with --step. 2013-06-03 22:45:02 +09:00
Darryl Stoflet
c0baf10845 Support for all:vars in script inventories 2013-06-02 14:54:29 -07:00