James Cammarata
fff497a1ae
Make sure the accelerated port is set to a sane value
2013-09-04 15:52:39 -05:00
James Cammarata
cc21e5c90c
Adding hostvars to injected variables in accelerate ssh runner
...
Also some minor cleanup of some fb* variables and functions, which
were remnants of the old fireball2 name
Fixes #4021
2013-09-04 15:29:46 -05:00
James Cammarata
c0fecf87d1
Increase default socket timeout to 5 minutes
2013-09-04 09:47:40 -05:00
James Cammarata
2696135b3b
Display error during launch of accelerated daemon
...
* also minor tweak to the # of retries in the connection attempt
Fixes #4012
2013-09-03 12:28:32 -05:00
James Cammarata
53c2f4c1bb
Fix race condition on creating the temp directory for ControlPersist
...
Fixes #3943
2013-09-03 11:00:33 -05:00
James Cammarata
d05c61d1f0
Merge branch 'devel' into fireball2
...
Conflicts:
lib/ansible/playbook/__init__.py
lib/ansible/playbook/play.py
2013-09-02 21:54:02 -05:00
James Cammarata
d69d5c294f
Renaming fireball2 as 'accelerate' and removing old references
2013-08-30 13:26:27 -05:00
James Cammarata
6f6efa268b
Merge branch 'smoothify-defaults' into devel
2013-08-30 08:40:47 -05:00
James Cammarata
637d3070dc
Allow default variables to be overridden by inventory variables
2013-08-29 17:21:28 -05:00
James Cammarata
9806f89a04
Revert "Construct the multiprocessing manager only once."
...
This reverts commit 1d13ec2da3
.
2013-08-29 11:00:25 -05:00
James Cammarata
7d3ae9fc75
Fixing a few bugs related to fireball2
...
* ssh port not being picked up, always uses default of 22
* forgot to 'import time' in the fireball2 connection plugin
2013-08-28 19:27:18 -05:00
James Cammarata
faf82bf841
Fix bug with fetch when using sudo: true
...
Fixes #3111
2013-08-28 13:24:16 -05:00
James Cammarata
af1dd7075f
Adding chunked file transfers to fireball2
2013-08-28 11:14:58 -05:00
James Cammarata
959138d00d
Added accelerate_port to plays, and made it configurable
2013-08-28 11:14:58 -05:00
James Cammarata
167f185092
Initial support for running gather_facts through fireball2
2013-08-28 11:14:58 -05:00
James Cammarata
b45342923c
Initial support for sudoable commands over fireball2
...
Caveats:
* requiretty must be disabled in the sudoers config
* asking for a password doesn't work yet, so any sudoers users must
be configured with NOPASSWD
* if not starting the daemon as root, the user running the daemon
must have sudoers entries to allow them to run the command as the
target sudo_user
2013-08-28 11:14:58 -05:00
James Cammarata
4b552457e7
Bail out correctly if socket.recv gets nothing (indicating a closed socket)
2013-08-28 11:14:58 -05:00
James Cammarata
86f01965cd
Fireball2 module will now launch in a proper tmp path
2013-08-28 11:14:58 -05:00
James Cammarata
521e14a3ad
Fireball2 mode working!
2013-08-28 11:14:58 -05:00
James Cammarata
acc5d09351
Initial commit for the "fireball2" connection plugin
...
Still needs:
* chunked file transfer/receive
* should probably move all send/recv operations to separate
functions to reduce code duplication
* initial connection setup over ssh? or do we handle that in runner?
2013-08-28 11:14:58 -05:00
Bruce Pennypacker
cf6a76c814
changed ignore_md5_mismatch to validate_md5
2013-08-28 14:41:00 +00:00
Bruce Pennypacker
41c474d129
added optional ignore_md5_mismatch parameter
2013-08-28 14:16:57 +00:00
James Cammarata
8262f7bfac
Merge branch 'with_items_and_complex_args' of https://github.com/lberruti/ansible into lberruti-with_items_and_complex_args
2013-08-22 23:01:11 -05:00
James Cammarata
462cd4f728
Merge branch 'pulls/fix-hostvars-inconsistancy' of https://github.com/ferringb/ansible into ferringb-pulls/fix-hostvars-inconsistancy
2013-08-22 13:56:34 -05:00
James Cammarata
e6ad3b7792
Merge pull request #3895 from mscherer/fix_option_new_ssh
...
make sure ssh do not ask password
2013-08-22 10:26:54 -07:00
James Cammarata
157b697a83
Merge branch 'always_run-6' of https://github.com/stoned/ansible into stoned-always_run-6
2013-08-22 12:10:28 -05:00
James Cammarata
af4f0bd008
Fix for "argument must be an int, or have a fileno() method" error
...
The issue was that, when forks == 1, the _executor() function was
being called with None for the value of new_stdin.
Fixes #3841 , #3902
2013-08-21 22:45:34 -05:00
James Cammarata
978af89175
Disallow running async tasks with lookup plugins
...
Fixes #2897
2013-08-21 16:44:10 -05:00
James Cammarata
6bf5d19506
SSH connection plugin creates ControlPersist socket files in a secure directory
...
Files were being created in /tmp, but will now be created in $HOME/.ansible/cp/
Addresses CVE-2013-4259: ansible uses a socket with predictable filename in /tmp
2013-08-21 11:40:46 -05:00
Stoned Elipot
f0743fc32a
Introduce the 'always_run' task clause.
...
The 'always_run' task clause allows one to execute a task even in
check mode.
While here implement Runner.noop_on_check() to check if a runner
really should execute its task, with respect to check mode option
and 'always_run' clause.
Also add the optional 'jinja2' argument to check_conditional() :
it allows to give this function a jinja2 expression without exposing
the 'jinja2_compare' implementation mechanism.
2013-08-20 23:09:44 +02:00
Michael Scherer
2bdba17a85
make sure ssh do not ask password
...
For some reason, ssh seems to ask for password even when
PasswordAuthentication is set to no, adding PreferredAuthentications
with the 2 options removed do the trick.
2013-08-20 22:02:37 +02:00
Brian Harring
31061213fa
Fix inconsistency in hostvars access.
...
Previously, hostvars would only expose a keys() list of hosts that had
been seen yet- however you could explicitly access the host if you knew
the name, and get the content that way. This precludes template code
from being able to safely access information about other hosts if any
limiters/tags were in use.
Additionally, the object was inconsistent for hostvars['myhost'] access
and [x[1] for x in hostvars.items() if x[0] == 'myhost'] access; this is
due to the original derivation from the dict object. .items() would be
handled by dict.items(), using the passed in setup_cache values without
using the actual lookup content.
This patch rebases the class implementation to a py2.6 dictmixin, fixing
those issues and restoring behaviour to match what the docs claim.
2013-08-19 23:57:08 -04:00
Michael Scherer
3aac187387
fix ssh connection plugin to work with ipv6 address
...
Due to various inconsistencies of ssh and sftp regarding ipv6 and
ipv4 handling, some special arguments must be passed, and the
ipv6 must be passed in a specific format.
2013-08-19 15:27:20 -05:00
Michael DeHaan
dacd311474
Removing synchronize momentarily as it looks like this won't make 1.3 dates
2013-08-16 15:22:39 -04:00
Luca Berruti
eee278e02b
fix
2013-08-14 13:26:14 +02:00
Luca Berruti
5048218ab5
Fix: with_items and complex_args
2013-08-14 11:49:46 +02:00
Michael DeHaan
bc02e20503
Merge branch 'rsynctake2' into devel
...
Conflicts:
CHANGELOG.md
2013-08-11 16:22:36 -04:00
Abhijit Menon-Sen
1a90d01ba9
Fix some typos discovered during casual reading
2013-08-11 18:41:23 +05:30
Michael DeHaan
f8c97d6e79
Style/docs cleanup, and also improve an error message.
2013-08-10 18:58:45 -04:00
Michael DeHaan
aeb8649da5
Merge branch 'ansible-rsync-take2' of git://github.com/tima/ansible into rsynctake2
2013-08-10 18:31:45 -04:00
Michael DeHaan
4d1f447908
Merge pull request #3650 from bcoca/forking_optimizations
...
forking least possible
2013-08-10 15:29:19 -07:00
Michael Vogt
89bc43cab0
support i18n on sudo failure
2013-08-10 17:56:39 -04:00
Serge van Ginderachter
9991a530ab
fix an encoding bug in copy content = lookup plugin
...
closes #3518
2013-08-10 17:37:04 -04:00
Michael DeHaan
66b29b6813
Merge branch 'feature/gh-3789-inventory-file' of https://github.com/resmo/ansible into devel
2013-08-10 17:11:48 -04:00
Michael DeHaan
1d13ec2da3
Construct the multiprocessing manager only once.
2013-08-10 09:32:46 -04:00
René Moser
e8272e365d
implemented 'inventory_file' variable. Closes GH-3789.
2013-08-10 13:04:56 +02:00
Timothy Appnel
2288a11b6a
Implemented setup method in rsync action module.
2013-08-09 21:24:50 -04:00
Timothy Appnel
4a9635e04e
Straighten out local-remote-delegate logic in rsync action module. Force set delegate to local if one is not defined.
2013-08-09 21:24:49 -04:00
Timothy Appnel
adbca9d251
Fixed identity key logic.
2013-08-09 21:24:47 -04:00
Timothy Appnel
9f170f579a
Introduced ansible-rsync to core.
2013-08-09 21:24:46 -04:00
Chris Church
6ba4331161
Correctly check for failed status from an async task. Use runner_on_async_failed callback (instead of runner_on_failed) when an async task times out. Add runner_on_async_ok callback when a task is started in fire and forget mode.
2013-08-06 12:42:44 -04:00
Michael DeHaan
1c6b81233c
Merge pull request #3692 from tima/action-init
...
Added support of an optional init method for action modules like rsync that need to alter the connection and other inject data before it's established.
2013-08-03 12:00:04 -07:00
Michael DeHaan
76fd769704
Merge pull request #3685 from mspaulding06/indexed_items
...
Indexed items lookup plugin
2013-08-03 11:36:51 -07:00
Michael DeHaan
c0ab417ef9
Don't iterate across strings in with_nested.
2013-08-03 14:22:18 -04:00
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
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
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
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
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
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
62b39d3de5
Fix for saving conditionals in variable expressions.
2013-07-21 08:52:00 -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
Stoned Elipot
667ad2480e
Use AnsibleFilterError exception
2013-07-20 23:39:25 +02: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
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 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
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
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
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
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
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
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
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
Jeroen Hoekx
a37f55d32e
Add a mandatory jinja2 filter for use in templates.
2013-06-29 16:01:34 +02: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
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
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
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
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 f4cf93436767f73b62a16067ab5e628830045896
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 253144045cbafd7d72836f1017c62ac4ba623186
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 aecb71d8b75257f0f3e11a9b176fc3737aecef8d
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 cbb1808f0585f01536240aee05a1bfd06c4b4647
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 d4bbf492b0b63c789d66ab60d0ec634d100fca82
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 c94780280515f1f3756fdc429b2b1e87b365e9b7
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 8d919d6c97b28a42f47ca7248c542695baf6175f
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 0f68ad8193ac17488e339a258f8c63fdae399c26
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
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
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
bennojoy
017e7f24ed
bug fix for #3077 , environment settings for script
2013-06-05 19:59:39 +05:30
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
3b77d17a26
Spelling fix.
2013-06-02 16:03:41 -04:00
Michael DeHaan
4a93c247bd
Another lookup plugin relative path tweak.
2013-06-01 18:22:56 -04:00
Michael DeHaan
b8a66ce5bb
Lookup plugins in included files now look in paths relative to their files, allowing role usage.
2013-06-01 18:15:38 -04:00
Michael DeHaan
c4a125e6d9
Add ability to use |success and |failed as Jinja2 filters.
...
Example:
when: registered_variable|failed
2013-06-01 17:38:12 -04:00
Steven Dossett
1ff93e6b08
Plugin with_inventory_hostnames - loops generated from groups or
...
hosts in inventory
2013-06-01 11:42:44 -04:00
node
a58baae2c4
Make the actual user used for executing play available as 'ansible_ssh_user' variable
2013-05-31 16:03:56 -04:00
Michael DeHaan
fd77804bff
Merge pull request #3017 from sergevanginderachter/roles-script
...
Add roles support for the script module
2013-05-29 15:54:18 -07:00
Michael DeHaan
a9fcea5893
Merge branch 'escape' of git://github.com/ngrilly/ansible into repr
2013-05-29 18:29:16 -04:00
Jeremiah Heller
7de718cd51
Fix copy when force=no and update _remote_md5 docs.
...
Previously setting force=no caused copy to subversively
fail when target did not exist on remote host.
Caused by Runner._remote_md5 returning 1
when files don't exist, rather than 0.
2013-05-29 10:14:47 -04:00
Serge van Ginderachter
5859af7285
script support for roles: use the files/ directory
...
instead of an additional scripts/ directory
2013-05-25 16:51:59 +02:00
Michael DeHaan
3a635d2d26
Lots of formatting fixes
2013-05-24 23:46:23 -04:00
Michael DeHaan
84623441e1
Merge pull request #2945 from jsmartin/new_fetch
...
Fetch destination path can now be overriden.
2013-05-24 19:57:19 -07:00
Michael DeHaan
4fc6be8579
Merge pull request #2993 from SirScott/pkgng
...
Make pkgng and with_items result in a single module call.
2013-05-24 19:55:56 -07:00
Michael DeHaan
4b988dbd43
Merge pull request #2978 from bryanlarsen/basename
...
add basename and dirname to the core jinja2 filters
2013-05-24 19:54:36 -07:00
Michael DeHaan
27236cf598
Merge pull request #2998 from SirScott/runner-permissions
...
Ensure the tmp_path is sufficiently open.
2013-05-24 19:52:23 -07:00
Serge van Ginderachter
94028852d9
Make debug module always verbose in playbooks
...
Created a new flag 'verbose_always' handled by
on_ok callback, similar to the 'verbose_override'
flag used by the setup module.
2013-05-25 00:27:23 +02:00
Serge van Ginderachter
4c9ebe8522
Add roles support for the script module
...
allows to put scripts directly in a dir within the
role:
roles/<role>/scripts/..
Same as the copy and template module.
As requested in and closes #2969
2013-05-24 22:10:46 +02:00
Nicolas Grilly
75ceb80572
Escape args injected in new style modules
2013-05-24 01:01:07 +02:00
Scott Sturdivant
5516ece859
Ensure the tmp_path is sufficiently open.
2013-05-23 12:13:09 -06:00
James Martin
3c131dbd2b
Initial Commit.
2013-05-23 13:33:36 -04:00
Scott Sturdivant
d91bc1692e
Make pkgng and with_items result in a single module call.
2013-05-23 09:43:38 -06:00
Bryan Larsen
f629baef11
add basename and dirname to the core jinja2 filters
2013-05-22 14:06:18 -04:00
Michael DeHaan
16709ecd76
Replace tab with spaces.
2013-05-19 19:26:30 -04:00
Dimos Alevizos
e96bc981ce
Set paramiko's logging level
...
Excplicity set paramiko's logging level to WARNING.
By default it inherits ansible's DEBUG logging level (set in
callbacks.py) and fills the log file with useless debug messages.
Obviously it only applies if log_path is set in ansible.cfg
2013-05-19 19:26:30 -04:00
Maykel Moya
60f24bb077
Remove unused modules
2013-05-18 23:11:47 +02:00
Maykel Moya
f52e3dee70
Don't hardcode chroot executable path
2013-05-18 23:09:38 +02:00
Ben Ritcey
0938d4d89a
Allow the remote MD5 checks to be run via sudo
2013-05-18 16:20:54 -04:00
Michael DeHaan
8475a92dec
Merge pull request #2939 from mmoya/lookup-crypted-passwds
...
Add support for crypted passwords to password lookup
2013-05-18 13:17:41 -07:00
Stoned Elipot
94ba0f740a
Fix for issue #2916 : for each host promote the host variables as globally scoped variables for the sake of the groups determination
2013-05-16 18:57:05 +02:00
Maykel Moya
45f5447f9f
Fix name in copyright
2013-05-16 18:49:35 +02:00
Maykel Moya
96afc3f462
Add support for crypted passwords to password lookup
...
Added new parameter 'encrypt' with same semantics from that of
vars_prompt. When encryption is requested a random salt will be
generated and stored along the password in the form:
'<password> salt=<salt>'.
Also store passwords with an ending '\n' for easier looking at files
with console tools. File content was being already rstripped so this
is harmless.
2013-05-16 13:24:54 +02:00
Serge van Ginderachter
7eeab168bc
bug fix in first_found search path assembly
2013-05-13 13:48:56 +02:00
Michael DeHaan
a78edbb45c
More pep8
2013-05-11 17:26:06 -04:00
Michael DeHaan
05a4513a03
Merge branch 'group-by-global' of git://github.com/stoned/ansible into devel
...
Conflicts:
lib/ansible/runner/action_plugins/group_by.py
2013-05-11 14:28:04 -04:00
Michael DeHaan
ad777f6538
Fix contrib link.
2013-05-11 14:03:07 -04:00
Stoned Elipot
75100201a2
Allow globally scoped variables with group_by module's conditionals and key argument
2013-05-10 00:02:14 +02:00
Michael DeHaan
9ed177e25e
Merge pull request #2840 from toshywoshy/devel
...
Patch so that delegate_to also uses ansible_ssh_private_key_file
2013-05-05 09:45:35 -07:00
Toshaan Bharvani
62b53f4d2c
changed the delegate_to to also use ansible_ssh_private_key_file from the inventory file
2013-05-05 16:54:26 +02:00
Serge van Ginderachter
53a7ab74c8
use os.path.join instead of hardcoded unix separator in first_found lookup plugin
2013-05-02 13:58:23 +02:00
Michael DeHaan
a81089231e
Register skipped tasks so we can at least check their changed/not-changed status.
2013-04-28 10:13:58 -04:00
Kahlil (Kal) Hodgson
9f90f0e856
fix arguments to isinstance() in env lookup
2013-04-28 14:58:26 +10:00
Matt Coddington
c164609dd6
typo fix
2013-04-25 23:04:17 -04:00
Michael DeHaan
224e20ca60
complex_arg templating should be smarter. Make it so!
2013-04-25 21:11:17 -04:00
Michael DeHaan
af2fb56a10
Changes to allow WANT_JSON to allow JSON to non-Python modules
2013-04-24 22:00:40 -04:00
Michael DeHaan
bd0c22868e
With fileglob should return full paths as in 1.1
2013-04-23 00:54:39 -04:00
Michael DeHaan
35e61d8f16
Merge pull request #2688 from dagwieers/module-global
...
New module 'set_fact' to define host facts
2013-04-22 21:16:46 -07:00
Michael DeHaan
9871707998
If sudoing and the sudo user is not root, the original file is saved as you, therefore delete that file as you.
2013-04-22 23:43:13 -04:00
Michael DeHaan
e12f91799c
Allow args: var to be used to pass a variable in bare, and also templated versions should also DWIM.
2013-04-22 22:17:55 -04:00
Michael DeHaan
5cced79cf3
Allow variables to be used raw in with_nested
2013-04-22 21:35:09 -04:00
Michael DeHaan
fbea88b9d9
Allow the environment string to be referenced by a bare variable name like:
...
environment: foo
2013-04-22 21:29:15 -04:00
Stephen Fromm
ab3cb4912e
Fix test so that it is /bin/sh compliant (issue #2742 )
...
The old test used syntax that appeared to be bash-specific and did not
work on platforms where /bin/sh did not point to bash. See issue #2742
where copy to solaris hosts failed with the error:
output: {'stdout': '', 'stderr': '/bin/sh: test: argument expected\n',
'rc': 1}
2013-04-22 16:14:27 -07:00
Michael DeHaan
8e7dc3c79c
Remove an extra space in the module execution line if no environment was set.
2013-04-19 08:11:56 -04:00
Dag Wieers
b13beb3689
New module 'set_fact' to define host facts
...
This module allows you to set host facts (or export play variables to the playbook scope if you fancy that).
The module also accepts complex arguments.
```yaml
- action: set_fact fact="something" global_fact="${local_var}"'
- action: set_fact
args:
fact: something
global_fact: ${local_var}
```
2013-04-18 23:06:58 +02:00
Seth Vidal
7b8cec3f59
clean up first_found to fix a few issues:
...
- add a skip option so it won't raise an exception if you don't match anything
- make it work as a drop-in replacement for first_available_file
- document in the module comments all of the above cases
2013-04-18 16:47:10 -04:00
C. Morgan Hamill
88eb5516eb
Fix 'sequence' plugin error.
...
If 'terms' is a string, replace it with a single item list.
2013-04-17 11:45:28 -04:00
C. Morgan Hamill
663d37b537
Fix errors in lookup plugins.
...
Lookup plugins 'sequence' and 'template' now import 'ansible.utils'
appropriately in order to use the 'listify_lookup_plugin_terms'
function.
Also, 'dnstxt' and 'env' now check to see if 'terms' is a string;
without this calls like '{{ lookup('env', 'HOME') }}' fail.
2013-04-17 11:31:38 -04:00
Dale Sedivec
515fd9e915
copy action plug-in check mode respects force=no
...
The copy action accepts force=no, which tells it not to replace an
existing file even if it differs from the source. The copy action
plug-in wasn't respecting this option when operated in check mode, so it
would report that changes are necessary in check mode even though copy
would make no changes when run normally.
Runner._remote_md5 was changed to make the logic for setting rc perhaps
a little more clear, and to make sure that rc=0 when the file does not
exist.
2013-04-16 20:22:51 -04:00
Michael DeHaan
7c6341718e
Merge branch 'combine_vars' of git://github.com/laggyluke/ansible into exp
...
Conflicts:
lib/ansible/inventory/vars_plugins/group_vars.py
lib/ansible/runner/__init__.py
lib/ansible/utils/__init__.py
test/TestPlayBook.py
2013-04-16 20:06:06 -04:00
Michael DeHaan
86d47bce5f
Make more lookup plugins tolerant of new variable system, with a little better 'do what I mean' logic to resolving
...
what happens if you get a string back as a template result.
2013-04-16 19:07:19 -04:00
Michael DeHaan
c0f8af5202
Make more lookup plugins happy with newstyle variables. Not quite done, but this fixes up with_items/with_nested/file/fileglob.
2013-04-16 18:50:30 -04:00
Michael DeHaan
7037023aa8
Make debug print things nicer if {{ foo }} didn't interpolate
2013-04-12 15:02:54 -04:00
Michael DeHaan
85099be48f
Merge pull request #2656 from dstoflet/first_available_file_fix
...
Quick fix for first_available_file and role support
2013-04-12 08:56:26 -07:00
Michael DeHaan
251f19263c
Remove unneeded import.
2013-04-12 10:23:53 -04:00
Michael DeHaan
8457cf433d
Update pause module to not use utils.template
2013-04-12 10:00:20 -04:00
Darryl Stoflet
c63207bf75
Quick fix for first_available_file and roles
2013-04-11 20:40:23 -07:00
Michael DeHaan
a05361f515
This is a fix on top of the 'airplane variable upgrade' commits that fixes legacy when_string so it evaluates correctly in the new eval construct.
2013-04-11 17:20:40 -04:00
Michael DeHaan
11a819cc4b
Merge pull request #2631 from stoned/templates-filters-base64
...
Add base64 encode and decode filters to templates
2013-04-11 09:49:27 -07:00
Michael DeHaan
a6777f7e7c
Fix template call in group_by module.
2013-04-11 12:43:02 -04:00
Michael DeHaan
81a926547c
Some continued work on new-style templates and associated test code changes. Legacy template functions
...
are marked with "legacy_" for possible future removal.
2013-04-10 19:09:57 -04:00
Michael DeHaan
f0b21dcc0f
allow references to names of variables in with_items without needing to surround them with Jinja2 '{{' delimeters
2013-04-10 18:42:54 -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
Michael DeHaan
0113951580
Enable usage of when_set within new eval system.
2013-04-10 16:26:59 -04:00
Michael DeHaan
a83e10d77d
Use safe_eval vs eval.
2013-04-10 16:17:24 -04:00