Nicolas Grilly
7aee588918
Idiomatic Python: use in operator instead of method find
2013-05-23 20:12:43 +02:00
Nicolas Grilly
7babd30cf7
Idiomatic Python: use isinstance instead of type
2013-05-23 20:12:43 +02: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
Kent Frazier
4c6583bd00
Fix bug with include-level vars and sudo_user.
...
If a variable was provided for an include, in either of these ways:
---
- hosts: all
tasks:
- include: included.yml param=www-data
- include: included.yml
vars:
param: www-data
and then that param was used as the value of sudo_user in the included
tasks:
---
- name: do something as a parameterized sudo_user
command: whoami
sudo: yes
sudo_user: $param
you would receive a "failed to parse: usage: sudo" error back and the
command would not execute.
This seemed to be due to a missing call to template.template somewhere,
because the final value being passed through ssh was still `$param`.
After some digging, the issue seems to instead have been a problem with
providing the wrong context to the template for expansion. Inside the
`Task` logic, it was passing `play.vars` as the context, where
`module_vars` seemed more appropriate. After replacing it, my test case
above ran without issue. There was a comment above suggesting that the
template call might be unnecessary, but removing it made the original
error return, since it is not getting escaped later down the line. I
removed the comment since it was inaccurate.
I tried to actually incorporate my test case above into the test suite
as a regression test, but was unable to figure out how to structure it.
The existing test infrastructure seemed to only be testing for correct
number of counts in things (ok vs. changed, etc.), without regard for
whether the content generated by the command is correct. If there is an
example of a test similar to this one (where I would want to check the
JSON generated to make sure sudo_user had been converted), please let me
know and I will be happy to submit an additional patch.
2013-05-23 00:05:11 -05:00
Bryan Larsen
f629baef11
add basename and dirname to the core jinja2 filters
2013-05-22 14:06:18 -04:00
Michael DeHaan
753ebea186
Prefer categorized modules to uncategorized, such that if someone does an install on top of old content
...
the categorized modules will win over the 1.1 uncategorized modules, as the packages may not automatically
clean up the old content.
2013-05-19 20:09:44 -04:00
Michael DeHaan
cd57d59913
If ansible is configured to use a log file but cannot write to it, exit, but don't traceback.
2013-05-19 20:05:04 -04:00
Michael DeHaan
496f06c3c9
Pass variables to lookup function for those that want to use them.
2013-05-19 19:26:30 -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
Les Aker
1179d1bbd8
corrected indentation
2013-05-19 12:25:19 -04:00
Les Aker
2adc335481
ignore unicode errors in stdout
2013-05-19 11:57:08 -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
Brian Coca
8dd72d2828
changed lockfile to be opened in write mode (solaris for one doesn't like
...
exclusive locks on read)
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-05-15 16:56:20 -04:00
Michael DeHaan
f2a8c0d612
Fix listification inside of with_items so it runs more intelligently.
2013-05-13 21:31:45 -04:00
Michael DeHaan
161f3e3670
Merge pull request #2899 from sergevanginderachter/host-group-vars-no-subdirs
...
don't parse subdirs in host/group_vars
2013-05-13 15:59:58 -07:00
Michael DeHaan
ff3625b0c9
Merge pull request #2902 from timhabermaas/fix-grammatical-error
...
Fix grammatical error in error message
2013-05-13 05:47:46 -07:00
Serge van Ginderachter
7eeab168bc
bug fix in first_found search path assembly
2013-05-13 13:48:56 +02:00
Tim Habermaas
4d24faeeb1
Fix grammatical error in error message
2013-05-13 13:22:57 +02:00
Serge van Ginderachter
a6b827ca07
don't parse subdirs in host/group_vars
...
as those are not supported in
core vars_plugins/group_vars.py
but might be used by other vars_plugins
2013-05-13 11:04:49 +02:00
Michael DeHaan
2a091a3505
Remove duplicate import.
2013-05-11 17:26:47 -04:00
Michael DeHaan
a78edbb45c
More pep8
2013-05-11 17:26:06 -04:00
Michael DeHaan
50586928b2
No need for trailing semicolon.
2013-05-11 17:25:05 -04:00
Michael DeHaan
ea8302e68d
Indentation.
2013-05-11 17:24:40 -04:00
Michael DeHaan
9f47d13306
Misc identation.
2013-05-11 17:24:12 -04:00
Michael DeHaan
0a1657080b
Indentation fix
2013-05-11 17:23:45 -04:00
Michael DeHaan
3fdf15fa8a
template code fixes for 'make pep8'
2013-05-11 17:22:56 -04:00
Michael DeHaan
3afa8b373e
Improve check mode reporting for directories and file modes.
2013-05-11 15:05:00 -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
11176c0711
Merge pull request #2878 from DavidMikeSimon/devel
...
Dealing with invalid symlinks and symlink permissions
2013-05-11 11:25:33 -07:00
Michael DeHaan
e4e6616169
Merge pull request #2872 from tima/fuzzy-match-localhost-127
...
Adds fuzzy matching of localhost to 127.0.0.1 host entries and vice versa
2013-05-11 11:15:49 -07:00
Michael DeHaan
344a30938c
Merge pull request #2871 from tima/inv-host-entry-fix
...
Fixed bug where a host entry in the inventory represented as a dict w/o ...
2013-05-11 11:14:48 -07:00
Matt Coddington
542eeeb5d6
add option to ignore $legacy variable style substitution
2013-05-11 14:06:01 -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
David Simon
190ce16bab
Dealing with invalid symlinks and symlink permissions
2013-05-09 15:35:05 -04:00
Timothy Appnel
20bf5f130d
Adds fuzzy matching of localhost to 127.0.0.1 host entries and vice versa.
2013-05-08 14:11:40 -04:00
Timothy Appnel
b15cc3e2b4
Fixed bug where a host entry in the inventory represented as a dict w/o a hosts or vars key was treated as a group and its vars essentially ignored.
2013-05-08 13:55:50 -04:00
Michael DeHaan
d1d3f4b4d2
Merge pull request #2842 from bcoca/cleanup
...
generalized cleanup and removed atomic_move return
2013-05-05 11:20:33 -07:00
Brian Coca
3ac6c45499
generalized cleanup function, in case modules want to use
...
removed return code as it doesn't make sense anymore
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-05-05 13:26:29 -04:00
Michael DeHaan
f87ac5ce29
Merge pull request #2841 from jimi1283/issue_2820
...
BUGFIX - --start-at-task= works only with --step
2013-05-05 09:47:15 -07: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
James Cammarata
2440861b1b
BUGFIX - --start-at-task= works only with --step
...
From issue #2820 , --start-at-task does not actually run tasks
unless --step is specified. This appears to be because skip_task
is being evaluated as True in PlayBook._run_task(). This patch
ensures skip_task is set to False in the callback.
2013-05-05 11:05:32 -05: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
Gilles Cornu
68f7ea6099
Apply Gilles's patch to atomic_move based on github comment. (Email address not supplied
...
since wasn't from a pull request)
2013-05-04 19:31:52 -04:00
Brian Coca
bdeb370d79
fixed case in which move fails after remote user copies file and sudo to non root does the move
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-05-03 21:58:27 -04:00
Michael DeHaan
c3547a2308
Moar SELinux.
2013-05-03 10:39:24 -04:00
Michael DeHaan
fb7bfa61a9
Fix SELinux context on atomic_move
2013-05-03 10:18:55 -04:00
Michael DeHaan
4ecc7ea2e0
Merge pull request #2817 from sfromm/issue2810
...
Set selinux context on file after shutil.move in atomic_move()
2013-05-03 06:45:42 -07: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
Stephen Fromm
50e94e4a2f
Set selinux context on file after shutil.move in atomic_move()
...
This is intended to fix #2810 . It sets the context of the tmp_dest file
after shutil.move() operation and before os.rename(). This should
retain the selinux context of the file across moves.
2013-04-30 10:15:09 -07:00
Michael DeHaan
7117ca5395
Allow modules in a "./library" directory to be referenced by their shortforms "modulename:" instead of just "action: modulename"
2013-04-28 21:05:19 -04:00
Michael DeHaan
e90023281d
Slightly refine log output to include username in addition to pid.
2013-04-28 20:57:32 -04:00
Michael DeHaan
ba8f2fca26
Merge branch 'add_pid_to_logging' of git://github.com/mcodd/ansible into devel
2013-04-28 20:52:53 -04:00
Stoned Elipot
df3c4849e9
Also load Jinja2 extensions when processing template from string
2013-04-28 20:52:01 -04:00
Michael DeHaan
4bea9a612f
Don't use "finally" here as it's not 2.4 compliant.
2013-04-28 16:03:03 -04:00
Michael DeHaan
68f711d5ae
teach plugin loader to find modules in subdirectories
2013-04-28 15:22:46 -04:00
Michael DeHaan
391fb98ee2
Allow modules to be categorized, and also sort them when generating the documentation.
2013-04-28 15:03:45 -04: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
3b8f69bac8
add pid to log
2013-04-27 13:00:02 -04:00
Stoned Elipot
75b51f79b4
Add module path library/ if it exists in role directory
2013-04-27 18:43:56 +02:00
Michael DeHaan
75cf5c985b
Allow playbook tags to be comma seperated strings as well as lists
2013-04-27 12:29:32 -04:00
Michael DeHaan
bcac289667
Cows don't need to display brackets around strings.
2013-04-27 11:50:53 -04:00
Michael DeHaan
016b04dff1
Merge branch 'roles_dir_search_order' of git://github.com/mcodd/ansible into devel
2013-04-27 11:46:29 -04:00
Brian Coca
caf6bd6ce5
Changed atomic_replace to atomic_move, now ti DOES move atomically in the last
...
step
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-04-27 11:46:08 -04:00
Michael DeHaan
b8fdcff524
Merge branch 'nocows' of git://github.com/jpmens/ansible into devel
...
Conflicts:
lib/ansible/callbacks.py
lib/ansible/constants.py
2013-04-27 11:34:39 -04:00
Michael DeHaan
553751aee1
Merge branch 'numeric_ids_refactor' of git://github.com/insom/ansible into testing_427
2013-04-27 11:21:30 -04: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
515fbd5a17
Restructure output to prevent rare cases of interlaced I/O in multiprocessing paths.
2013-04-27 09:46:48 -04:00
Matt Coddington
c164609dd6
typo fix
2013-04-25 23:04:17 -04:00
Matt Coddington
c83c534a7d
Search for roles in the roles subdir first. Throw an error when no role .yml files are found.
2013-04-25 22:40:04 -04:00
Michael DeHaan
5af271911b
Fix duplicate handler notification issue in 1.2 devel
2013-04-25 21:24:15 -04:00
Michael DeHaan
224e20ca60
complex_arg templating should be smarter. Make it so!
2013-04-25 21:11:17 -04:00
Aaron Brady
bd226eb826
Refactor user_and_group so it works off of numbers
...
There are various cases where a UID to username to UID mapping breaks
down. One UID can be used by two usernames, or no username. If we
always use UIDs internally, then these ambiguous cases won't be a
problem.
2013-04-25 13:23:07 +01:00
Aaron Brady
d2e457f81f
Accept numeric user and group parameters
2013-04-25 13:23:07 +01:00
Jeroen Hoekx
ac7a632711
Remove leftover debug statement in template code.
2013-04-25 08:47:38 +02:00
Michael DeHaan
21fe750cef
Flush handlers before pre and post task sections change, but not between task and roles, as this seems
...
to be confusing to people (and not usually neccessary)
2013-04-24 22:28:06 -04:00
Michael DeHaan
6fdfbb1a34
Improve variable smushing so it only has to be done in one place. This is related to shlex.split being called
...
on untemplated variables in some rare cases.
2013-04-24 22:00:40 -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
Stephen Fromm
189b210f5a
Catch exception when logging to systemd journal fails
...
systemd journal will throw IOError exception when journal.sendv() fails.
This catches that and falls back to syslog. See issue #2773 .
2013-04-24 15:00:47 -07:00
Jan-Piet Mens
dfd885a012
Make ANSIBLE_NOCOWS configurable
...
nocows = 1 in ansible.cfg
or old environment variable ANSIBLE_NOCOWS=1
add to ansible.cfg example
2013-04-23 16:43:23 +02: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
be947e5266
Resolve merge conflict
2013-04-22 23:57:20 -04: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
6c778acd91
Smush the braces in various places (hey, that rhymes) to avoid undo key=value splitting surprises
...
in new template system.
2013-04-22 22:05:06 -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
Michael DeHaan
f9f1d5ee42
Merge pull request #2745 from sfromm/issue2742
...
Fix test so that it is /bin/sh compliant (issue #2742 )
2013-04-22 16:23:26 -07: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
3e0c33c1fa
Empty plays should still gather facts
2013-04-21 17:35:09 -04:00
Michael DeHaan
b08181e9b4
Merge pull request #2731 from stoned/flush_handlers-cleanup
...
handlers must be run once
2013-04-21 14:14:04 -07:00
Michael DeHaan
08324cb5d7
Allow play tagging in context of new meta-tasks.
2013-04-21 17:12:12 -04:00
Stoned Elipot
747c7f0dff
handlers must be run once
...
so remove all occurences of each host from the handlers notified by
lists
2013-04-21 17:23:13 +02:00
Michael DeHaan
32fb6c807c
Allow handlers to run in between pre_tasks, roles, tasks, and post_tasks.
2013-04-20 18:03:03 -04:00
Michael DeHaan
37789a852a
Rename set_up and tear_down to pre_tasks and post_tasks
2013-04-20 16:19:01 -04:00
Michael DeHaan
d7623d1f91
Added a 'set_up' and 'tear_down' which are like tasks, but execute before and after roles.
2013-04-20 16:07:06 -04:00
Michael DeHaan
e6bf01a6b0
Make plugin loader path operations more efficient.
2013-04-20 12:31:14 -04:00
Michael DeHaan
5a8dff5bce
Instantiate inventory plugins only once for efficiency reasons.
2013-04-20 09:59:40 -04:00
Michael DeHaan
817b0cdc80
Instantiate filter plugins only once to save some efficiency.
2013-04-20 09:51:20 -04:00
Michael DeHaan
6e1514e975
Merge pull request #2727 from dsedivec/devel
...
Don't send unicode instances to the selinux module
2013-04-20 06:21:27 -07:00
Michael DeHaan
5b44c3d52c
Merge commit '53ac0bb' into devel
2013-04-20 09:13:10 -04:00
Michael DeHaan
87788b1d17
Ignore inventory config files when using an inventory directory.
2013-04-20 09:10:19 -04:00
Michael DeHaan
53ac0bbec2
Instantiate callback plugins only once so we can set play/task objects on them and they'll stick.
2013-04-20 09:09:35 -04:00
Dale Sedivec
c8f4a56cad
Don't send unicode instances to the selinux module
...
This fixes #2632 . Briefly: specifying things like paths using complex
args in a playbook will make the objects unicode instances. The selinux
module does not accept unicode instances for its char * arguments; it
wants str instances.
Per mpdehaan's comment on #2632 I just went ahead and converted all
paths to UTF-8. I don't know if it would be better to do something like
converting to locale.getpreferredencoding(), but I factored all the
conversions out into new method _to_filesystem_str, so there's only one
place that needs to be changed in the future.
2013-04-19 20:12:11 -05:00
Michael DeHaan
df93d7dd97
Ignore inventory config files when using an inventory directory.
2013-04-19 19:01:19 -04: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
Michael DeHaan
5f1e2afc34
Revert "make atomic_replace use shutil.copy2 instead of os.rename() so it will work across filesystems".
...
AR function was leaving some tmp files behind, want to revert, will have better implementation soon, this is the old way now.
This reverts commit f74a1fa4f0
.
2013-04-18 15:46:42 -04:00
Michael DeHaan
d8bf87b008
(A) include errors in inventory scripts should they occur.
...
(B) allow registration with ignore_errors: True
2013-04-17 22:27:00 -04:00
Bernhard Weitzhofer
fb0a99e5d8
Fix if-statement that always evaluates True
2013-04-17 19:40:06 +02: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
C. Morgan Hamill
863cb50530
Allow '.yml'/'.yaml' extension on group_vars files.
...
Look for a file with the base name of the group/host, first without
a file extension, then with a '.yml' extension, and, finally, with
a '.yaml' extension, loading vars from only the first one found.
2013-04-16 19:59:23 -04:00
Michael DeHaan
b54e955595
Remove a debug statement.
2013-04-16 19:09:12 -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
Seth Vidal
f74a1fa4f0
make atomic_replace use shutil.copy2 instead of os.rename() so it will
...
work across filesystems
2013-04-16 15:15:58 -04:00
Michael DeHaan
0944e7d56a
Make less template calls on playbook objects.
2013-04-12 21:48:01 -04:00
Michael DeHaan
44a9352338
Also template handlers only at the end.
2013-04-12 20:32:35 -04:00
Michael DeHaan
e7f5186dec
Merge pull request #2623 from willthames/when_set_bug
...
Prevent premature variable substitution in tasks
2013-04-12 17:19:25 -07:00
Michael DeHaan
3ab0ed5fd4
Allow 'when' and 'with_items' to be applied to roles.
2013-04-12 19:02:56 -04:00
Michael DeHaan
7a2d493e67
Teach lookup plugins that if they can't evaluate something they can wait and do it later.
2013-04-12 18:44:40 -04:00
Michael DeHaan
3f3b2a9448
Smush Jinja2 braces in playbooks so unresolved variables get parsed nicely
2013-04-12 18:38:48 -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
793a3d3f76
More 1.2 templating development; for legacy when_string constructs don't quote the 'in' operator
2013-04-12 13:29:49 -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
b8c5a58b7f
Avoid running through the legacy template code if no dollar signs are in strings.
2013-04-12 10:33:55 -04: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
willthames
377bc31311
Prevent premature substitution of variables into tasks
...
As documented in #2623 , early variable substitution causes when_
tests to fail and possibly other side effects.
I can see the reason for this early substitution, likely introduced
in 1dfe60a6
, to allow many playbook parameters to be templated.
This is a valid goal, but the recursive nature of the utils.template
function means that it goes too far.
At this point removing tasks from the list of parameters to be
substituted seems sufficient to make my tests pass. It may be the
case that other parameters should be excluded, but I suspect not.
Adding a test case. I would prefer to analyse not just the aggregate
statistics but also whether the results are as expected - I can't
see an easy way to do that with the available callbacks at present.
2013-04-12 09:17:03 +10: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
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
4e79bd0872
Remove unneccessary construction of Jinja2 environment object.
2013-04-11 12:59:33 -04:00
Michael DeHaan
2f5c1d3788
Merge pull request #2629 from stoned/fix-jinja2-filters-init
...
Fix Jinja2 filter plugins initialization
2013-04-11 09:57:04 -07: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
7931597a6a
Fix template call.
2013-04-11 12:15:13 -04:00
Michael DeHaan
695acc2de0
Make lookup plugins accessible in templates
2013-04-10 19:19:01 -04:00
Michael DeHaan
5b2035edd9
Changes for 'make pep8'
2013-04-10 19:12:10 -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
9ac25bb8f6
Minor formatting
2013-04-10 18:19:31 -04:00
Michael DeHaan
d7206d84bb
Allows Jinja2 that starts a YAML line to not cause a syntax error.
...
Technically this isn't quite valid YAML when this happens, so we make it valid. This means that if a future commander
API allows save/load it should make sure it does similar processing.
2013-04-10 18:07:19 -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
804056a563
Use Jinja2 strict undefined in string templating to allow the default filter to be used.
2013-04-10 16:45:53 -04:00
Michael DeHaan
998230a84a
Allow $foo and {{ bar }} to be used on the same line in playbooks.
2013-04-10 16:40:49 -04:00
Michael DeHaan
29209c4913
Style fixes so "make pep8" is clean.
2013-04-10 16:37:49 -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
Michael DeHaan
fecfbf9226
Allow jinja2 evals that produce lists to be used in with_items. Ideally want something a bit less heavy
...
than the eval here.
2013-04-10 15:22:08 -04:00
Michael DeHaan
c5d9823467
Fix some items related to playbook includes and indentation.
2013-04-10 15:04:41 -04:00
Stoned Elipot
0893562605
Add base64 encode and decode filters to templates
2013-04-10 02:30:31 +02:00
Michael DeHaan
290780d13f
Playbook + with_items was an undocumented feature that was causing problems because it would
...
evaluate and replace '$item' with ''. Really it doesn't make sense to include multiple playbooks
via a loop variable, as you can do this with task + with_items already (and it's a simpler code
path). Given this is undocumented, this removes that feature, and we'll consider next how to
also add 'with_items' support directly to roles.
2013-04-09 20:13:55 -04:00
Michael DeHaan
c64f19dc5f
Don't set the item variable as eager template replacement will over-replace the variable as an empty string.
2013-04-09 19:57:53 -04:00
Stoned Elipot
154f58f82d
Fix Jinja2 filter plugins initialization
...
_get_filter_plugins() checks FILTER_PLUGINS against None hence
the latter should be initialized to None.
2013-04-09 22:38:24 +02: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
willthames
9d87733f98
Test case and fix for shlex.split unicode bug
...
When operating on a unicode string in python 2.6, shlex.split returns
a result that does not work with the file constructor.
To reproduce this requires a task include that is templated (this is
because the templated string is a unicode result, whereas a non-
templated string is a non-unicode string)
[will@centos6.3] $ python
Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import shlex
>>> shlex.split(u'abc')
['a\x00\x00\x00b\x00\x00\x00c\x00\x00\x00']
[will@fedora17] $ python
Python 2.7.3 (default, Jul 24 2012, 10:05:38)
[GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import shlex
>>> shlex.split(u'abc')
['abc']
The proposed fix (coercing the include parameters to string before the
shlex.split) may not be ideal but it does fix the bug for my test case.
2013-04-08 14:47:43 +10:00
Michael DeHaan
61f2668b0a
Don't include the '.yml' in the path to the retry files.
2013-04-08 12:38:05 -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
5fef2ffb9d
Merge pull request #2592 from stoned/include-task-when
...
when: condition support for tasks include
2013-04-06 16:01:44 -07:00
Michael DeHaan
00252353b9
Decided I liked the asterisks
2013-04-06 18:58:55 -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
Stoned Elipot
1ed54b9b3a
when: condition support for tasks include
2013-04-07 00:43:39 +02:00
Michael DeHaan
e9d11173cd
Remove obsolete comment
2013-04-06 18:38:31 -04:00
Michael DeHaan
fffb1a0a9d
Loose tasks not in roles get executed after roles.
2013-04-06 18:36:25 -04:00
Michael DeHaan
f044fc344b
When using roles, or other includes, the path to DWIM inside is the path of the task include
...
file.
2013-04-06 18:32:36 -04:00
Sébastien Bocahu
b94bf051d5
Makes $PIPE and $FILE macros accept utf-8 input
2013-04-06 23:28:15 +02:00
Michael DeHaan
5c4ed72571
Demo of parameterized roles!
2013-04-06 12:51:17 -04:00
Michael DeHaan
f308194b9a
Added examples of how roles work!
2013-04-06 12:35:35 -04:00
Michael DeHaan
892484812e
Much requested feature -- allows relative imports of content within roles or relative to any task or handler include (../templates for template ../files for copy)
2013-04-06 12:13:04 -04:00
Michael DeHaan
95f30f0def
Complete streamlining of vars handling in playbooks and how those are templated to avoid
...
repeat template calls at playbook intialization time.
2013-04-06 10:45:09 -04:00
Michael DeHaan
1dfe60a6ea
Allow any parameter in a play to be set by --extra-vars through cleaner use of data structure
...
templating.
2013-04-06 10:09:16 -04:00
Michael DeHaan
4cd69e81b9
Catch recursive templating errors and display what string caused them.
2013-04-06 09:55:31 -04:00
George Miroshnykov
6826aa7360
Tweaked merge_hash to also affect Runner behavior
2013-04-06 13:06:38 +03:00
Blair Zajac
36b3fc3acf
Fix for inventory scripts with no path prefix that are in CWD.
...
Without this, using '-i ec2.py' will not work if '.' is not in PATH.
2013-04-05 20:52:59 -07:00
Michael DeHaan
f585c4cde7
Upgraded variable support met with upgraded conditional support, see examples/playbooks/upgraded_vars.yml
...
for details!
2013-04-05 19:10:32 -04:00
Michael DeHaan
38c2b14339
Undefined Jinja2 statements are returned as they originally are so you can tell there are things to
...
correct.
2013-04-05 17:36:53 -04:00
Michael DeHaan
49d28b9a44
This SELinux commit is too strict and we should only fail if trying to read/tweak SELinux attributes else
...
python-selinux can't be installed w/ the yum module when missing.
Revert "Added an extra check for target nodes with selinux but without libselinux-python package installed"
This reverts commit 550986b6a1
.
2013-04-05 14:54:11 -04:00
Michael DeHaan
2c881e2b3d
Merge pull request #2578 from arrfab/selinux-fix-2
...
Added an extra check for target nodes with selinux but without libselinux-python package installed
2013-04-05 11:52:14 -07:00
Michael DeHaan
9073aa17ab
Chroot also needs args/kwargs.
2013-04-05 14:50:15 -04:00
Michael DeHaan
3d25b4a7c0
Standardize args/kwargs on connection plugins.
2013-04-05 14:50:15 -04:00
Dag Wieers
d5d26bab9b
Make private key customizable per host using ansible_ssh_private_key_file configurable as variable
...
This fixes issue #1026 for @toshywoshy together with ansible_ssh_user and ansible_ssh_port.
2013-04-05 14:50:15 -04:00
Fabian Arrotin
550986b6a1
Added an extra check for target nodes with selinux but without libselinux-python package installed
2013-04-05 20:37:58 +02:00
Michael DeHaan
8c859f6f61
Merge pull request #2570 from skvidal/devel
...
simple fix for issue 2564
2013-04-05 11:07:22 -07:00
Michael DeHaan
550bf47636
Merge pull request #2565 from willthames/default_exec
...
Added DEFAULT_EXECUTABLE as a constant
2013-04-05 10:56:56 -07:00
Michael DeHaan
f37da4fdd7
Merge branch 'ssh_config_user_overrides' of git://github.com/bcoca/ansible into devel
2013-04-05 13:09:38 -04:00
Michael DeHaan
b67cd6bbda
Merge branch 'any-errors-fatal' of git://github.com/junegunn/ansible into devel
2013-04-05 13:07:23 -04:00
Seth Vidal
2796b5ee2a
simple fix for issue 2564
...
when we encounter a group we've not seen before - we need
to make sure we make it a subgroup of 'all', no matter what
2013-04-04 12:44:39 -04:00
willthames
e55e123c01
Added DEFAULT_EXECUTABLE as a constant
...
Use DEFAULT_EXECUTABLE when no executable is passed to
_low_level_command_exec
Works as a standard constant - can be overridden in all the normal ways
and defaults to /bin/sh
Motiviation is for a user that only has /bin/bash in /etc/sudoers
2013-04-04 13:32:23 +10:00
Michael DeHaan
cdaa2085ee
Preliminary ability to use Jinja2 {{ }} to replace ${foo.bar} in playbooks. Can't use both at the same time per line.
2013-04-03 01:04:16 -04:00
Michael DeHaan
aa4ad80bda
Update release version.
2013-04-02 20:48:30 -04:00
Junegunn Choi
b874027b36
compare the number of available hosts before and after running each task
2013-03-29 13:13:22 +09:00
Junegunn Choi
20a48c6bdf
terminate immediately on a failure
2013-03-28 15:17:01 +09:00
Brian Coca
82c3b4e685
now ssh connection plugin will only pass user as an option to ssh if it is
...
differnt from the current user. This should enable overrides for user in
.ssh/config w/o breaking any current functionality.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-03-27 16:41:54 -04:00
Michael DeHaan
42b0e51223
Upgrade callbacks further, now '.play', '.task', and so on are also available!
2013-03-25 22:56:32 -04:00
Michael DeHaan
0d11f53eff
Let the callbacks see the playbook and (current) runner objects.
2013-03-25 22:47:06 -04:00
Michael DeHaan
783a12cc0e
Resolve merge commit.
2013-03-25 22:32:01 -04:00
Michael DeHaan
3c5890f42b
Ensure that when transferring a file to a directory the name of the file is the correct basename and not 'source'.
2013-03-25 22:19:35 -04:00
Michael DeHaan
7044e53e07
Allow conditionals on BYPASS_HOST_LOOP plugins like add_host
2013-03-25 21:16:18 -04:00
Michael DeHaan
9be44c201a
Merge pull request #2455 from robparrott/debuggin-help
...
inject a dictionary of avaiable variables and the environment into executor
2013-03-24 14:49:37 -07:00
Michael DeHaan
fe2f506514
Merge pull request #2462 from sfromm/issue2461
...
Make logging to journal match what goes to syslog on non-systemd hosts
2013-03-24 14:46:10 -07:00
Stoned Elipot
86995d7786
Fix pathnames in comments
2013-03-22 02:11:58 +01:00
Stephen Fromm
cdb7f8ecf0
Make logging to journal match what goes to syslog on non-systemd hosts
...
This makes the log message the same, whether it is sent to systemd's
journal or to syslog. It retains the extra fields that are passed to
journal, such as MOUDLE=<name> and additional arguments. Since journal
will reflect messages to syslog, this keeps what goes to syslog
informative instead of the terse 'Ansible module invoked'.
See issue #2461 .
2013-03-19 16:07:15 -07:00
Rob Parrott
149f1f9f3c
invalidate group cache so that a group added by the add_host module will be relfected in the groups variable in later plays.
2013-03-19 13:57:45 -04:00
Rob Parrott
81e2d871aa
inject a dictionary of avaiable variables and the environment into the executor, so that templates can be used to debug playbooks by dumping more of the available context.
2013-03-19 13:04:57 -04:00
David Hughes
c365974117
Added variable expansion to task sudo_user parameter
2013-03-15 11:31:27 -07:00
Michael DeHaan
6f25885c1a
Merge pull request #2397 from dparalen/play_task_type_check
...
check type of task explicitly
2013-03-14 08:24:41 -07:00
milan
80dbab3cf0
check type of task explicitly
2013-03-14 13:06:55 +01:00
Daniel Hokka Zakrisson
27978ed9c1
Don't override argument specs with FILE_COMMON_ARGUMENTS
...
Doing so will remove aliases, types, etc, leading to #2388 and other
issues.
2013-03-14 11:22:46 +01:00
Michael DeHaan
d0332a6c6d
Merge branch 'playbook-step' of git://github.com/skvidal/ansible into devel
2013-03-13 22:26:59 -04:00
Michael DeHaan
0c80c76833
Fixes #2380 - argument checking in file accepts chained arguments from copy
2013-03-12 21:57:38 -04:00
Michael DeHaan
77198b09e9
Add content to the list of file common arguments.
2013-03-12 01:06:55 -04:00
Stoned Elipot
8edda38c61
exception safe list/tuple replacing for non-str values
2013-03-12 05:01:45 +01:00
Michael DeHaan
e241bb5801
Merge pull request #2367 from bcoca/catch_mismatched_json
...
now cleanly catches traceback when conflicting versions of simplejson and python are installed
2013-03-11 15:26:01 -07:00
Michael DeHaan
a22009806e
Nested iteration would make more sense in this order.
2013-03-11 17:58:27 -04:00
Michael DeHaan
edc04d61f3
Added 'with_nested' lookup plugin that can easily do nested loops.
2013-03-11 17:47:57 -04:00
Michael DeHaan
298d64aa1d
Quote remote md5 operations. Fixes #2368
2013-03-11 17:19:43 -04:00
Michael DeHaan
e304cc3d8e
Simple fix for spaces in filenames with the template module.
2013-03-11 17:13:59 -04:00
Michael DeHaan
6e2ea327d1
A very simple fix to enable spaces in the files sent via the copy module.
2013-03-11 17:11:53 -04:00
Brian Coca
95a977cfc9
now cleanly catches traceback that occurs when running newer simplejson with
...
older python interpreter.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-03-11 15:10:49 -04:00
Seth Vidal
a7a083d882
when --step isn't specified make sure to print the banner
2013-03-11 09:48:32 -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
2962073bcf
Merge branch 'fix-module-encoding' of git://github.com/andreparames/ansible into devel
2013-03-18 00:17:07 -04:00
Michael DeHaan
f2c8df2a93
Clarify an error message
2013-03-17 23:33:13 -04:00
Patrick Pelletier
c7c7a63ee5
Add support to directly set content in copy module
2013-03-17 23:33:13 -04:00
Michael DeHaan
c53653dc0d
Merge pull request #2348 from candeira/password-plugin
...
password lookup plugin, with working tests and documentation
2013-03-10 16:31:17 -07:00
Michael DeHaan
b2c8ed9cc2
Merge pull request #2279 from dorfsmay/fetch-fail_on_missing
...
Added a fail_on_missing option to fetch.
2013-03-10 16:18:28 -07:00
Michael DeHaan
aae88baf4a
Merge pull request #2260 from skvidal/path_lookup
...
first_found lookup_plugin - replaces first_available_file
2013-03-10 16:09:49 -07:00
Michael DeHaan
bb696e88b4
Merge pull request #2286 from gavares/url_timeout
...
Add socket timeout to uri module.
2013-03-10 15:37:32 -07:00
Javier Candeira
ca6c36e1ac
password lookup plugin, with working tests and documentation
2013-03-10 13:36:53 +11:00
André Paramés
9bb8435ec9
Fixes #2346
2013-03-09 03:27:45 +00:00
Daniel Hokka Zakrisson
76f3351b02
Move complex_args templating to be with module_args
...
Keeps every action plugin from having to do the same thing.
2013-03-07 11:09:29 +01:00
Michael DeHaan
ffbd4b5a2c
Template options sooner on complex args copy
2013-03-07 00:35:40 -05:00
Michael DeHaan
2bb305f6d5
Fix args templating for complex args with the copy module.
2013-03-07 00:28:06 -05:00
Michael DeHaan
969edabdbb
Merge pull request #2322 from bcoca/remote_tmp_override
...
added check for starting $HOME for remote_tmp so as to non root sudo override
2013-03-06 21:07:49 -08:00
Michael DeHaan
44e44cf295
Merge pull request #2320 from jkleckner/minor-spelling-fixes
...
Minor spelling fixes
2013-03-06 21:06:33 -08:00
Michael DeHaan
fe8547cac0
Ensure template arguments if complex are still properly templated
2013-03-07 00:04:48 -05:00
Brian Coca
76f709286e
added check for starting $HOME for remote_tmp so as to non root sudo override
...
Signed-off-by: Brian Coca <bcoca@tablethotels.com>
2013-03-06 17:32:12 -05:00
Jim Kleckner
92844d3dcd
Minor spelling fixes
2013-03-06 10:41:19 -08:00
Maykel Moya
e898f30f78
Fix copyright
2013-03-06 02:40:34 +01:00
Daniel Hokka Zakrisson
3d49f74df6
Make apt upgrade=dist work and make its argument handling more idiomatic
...
Fixes #2287 .
2013-03-05 23:46:34 +01:00
Daniel Hokka Zakrisson
1784fd80cc
When a host list is used, no parser is present
2013-03-04 12:37:15 +01:00
Grant Gavares
cd51c7f234
Add socket timeout to uri module.
...
The uri module can be configured to abort after a specified timeout if
it cannot connect to the configured uri. This prevents a uri action from
hanging indefinitely when the remote endpoint cannot be reached because
it is unavailable, there is a firewall in place etc. The default behavior
is left unchanged: timeout=None
This change also introduces a new type for module_parameters: int
Code was added to perform conversion from string -> int type in
module_common.py.
The new type was required in order to play nice with httplib2 which
refuses to accept (and convert) anything other than a numeric type for
the timeout value.
2013-03-02 17:34:23 -08:00
Yves Dorfsman
e45a0fd61d
Added a fail_on_missing option to fetch.
2013-03-02 11:04:48 -07:00
Michael DeHaan
6ad390a92b
Revert "Revert "for #2196 now gruopby module invalidates host cached variables so they can be reevaluated with new groups""
...
This reverts commit dc0515a88a
.
We didn't need to revert this :)
2013-03-02 10:38:51 -05:00
Daniel Hokka Zakrisson
5d82b4b1b7
group_by needs the untemplated module_args
2013-03-02 16:30:30 +01:00
Michael DeHaan
dc0515a88a
Revert "for #2196 now gruopby module invalidates host cached variables so they can be reevaluated with new groups"
...
This reverts commit 2d86671aa5
.
2013-03-02 10:21:36 -05:00
Daniel Hokka Zakrisson
43ce2caa4f
Fix parse_kv invocation in group_by to use imported name
...
Fixes #2277 .
2013-03-02 15:18:16 +01:00
Daniel Hokka Zakrisson
2ff2f05a0f
host.get_variables includes too many variables, use host.vars instead
...
Not quite as attractive, but allows variable precedence and lazy
resolution to work as intended, rather than resolving them on a
per-inventory basis.
2013-03-02 10:26:26 +01:00
Michael DeHaan
0b4ad2749a
Increase error handling in the unlikely case of failing to establish a connection.
2013-03-01 21:39:50 -05:00
Michael DeHaan
5fd807ac64
Merge pull request #2262 from bcoca/json_nice_error
...
now ansible shows nice message about missing json instead of traceback
2013-03-01 16:39:45 -08:00
Brian Coca
46c913f7a6
now ansible shows nice message about missing json instead of traceback
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-03-01 19:03:59 -05:00
Michael DeHaan
7ac5e462ef
Fixed a small buglet, if using with_items with yum and so on, only optimize the package list if the package list is all strings
2013-03-01 18:32:32 -05:00
Seth Vidal
804b130288
check if the term is a dict so we can take a simple list of files (like first_available_file) takes
2013-03-01 18:18:56 -05:00
Michael DeHaan
b6f7a22de5
Merge pull request #2261 from bcoca/groupby_2186
...
now group by module invalidates host cached variables
2013-03-01 15:16:47 -08:00
Brian Coca
2d86671aa5
for #2196 now gruopby module invalidates host cached variables so they can be reevaluated with new groups
...
Signed-off-by: Brian Coca <bcoca@tablethotels.com>
2013-03-01 18:00:34 -05:00
Seth Vidal
dfad94078b
first_found lookup_plugin - replaces first_available_file
...
- useful in tasks/playbook inclusion
- task-specific inclusion
allows searching paths and files
2013-03-01 17:25:25 -05:00
Daniel Hokka Zakrisson
f1eb195ff5
vars_loader should get the path to the inventory + vars_plugins
2013-03-01 23:22:52 +01:00
Daniel Hokka Zakrisson
ad08995989
Make inventory basedir for directory based inventory be the directory
...
This puts host_vars and group_vars inside of the directory, allowing you
to target a single inventory but still have access to the variables.
2013-03-01 23:22:52 +01:00
Daniel Hokka Zakrisson
d9c6b60b24
Allow inventory to be a directory containing other inventories
2013-03-01 23:22:52 +01:00
Daniel Hokka Zakrisson
647cd0141c
Move all inventory script code into the script parser
2013-03-01 23:22:52 +01:00
Michael DeHaan
fb26f059c5
Merge pull request #2232 from dhozac/module-args-dict
...
Allow specifying args directly to actions using module: syntax
2013-03-01 14:03:23 -08:00
Michael DeHaan
e83819599a
Merge pull request #2234 from akvadrako/nice-yaml-and-json
...
add to_nice_yaml|json filters
2013-03-01 13:45:07 -08:00
Michael DeHaan
c92bfb7234
Merge branch 'madcow2' of git://github.com/bcoca/ansible into devel
2013-03-01 16:23:41 -05:00
Jimmy Tang
81a34c2d1d
Cowsay on OSX macports
2013-03-01 16:51:13 +00:00
Devin Bayer
fca1167a0e
add to_nice_yaml|json filters
2013-02-28 17:07:02 +01:00
Daniel Hokka Zakrisson
ae8d6ac303
Ensure complex_args is considered in all action_plugins
2013-02-28 14:27:42 +01:00
Daniel Hokka Zakrisson
297259725a
Allow (local_)action: to be a dict
...
Use the key module: to set which module to invoke.
2013-02-28 14:12:36 +01:00
Daniel Hokka Zakrisson
c04d5ba739
Allow specifying args directly to actions using module: syntax
...
Makes things like
- name: do complex things with complex module
complex:
setting_a: true
setting_b:
- foo
- bar
possible.
Fixes #2228 .
2013-02-28 13:54:04 +01:00
Daniel Hokka Zakrisson
4807fbc8b7
Use regular strings to allow tests to work
2013-02-28 13:52:57 +01:00
Michael DeHaan
323ed27106
Merge pull request #2221 from sfromm/fix-ansible-cli-check-mode
...
Fix CliRunnerCallbacks.on_file_diff in callbacks.py
2013-02-27 15:34:05 -08:00
Stephen Fromm
fa07604d43
Fix CliRunnerCallbacks.on_file_diff in callbacks.py
...
When running ansible -C, I get a traceback that ends with
AttributeError: Values instance has no attribute 'diff'
This fixes on_file_diff to behave similar to
PlaybookRunnerCallbacks.on_file_diff().
2013-02-27 13:26:29 -08:00
Daniel Hokka Zakrisson
cedfec763a
jsonify needs to return a string of {}, rather than a dict
2013-02-27 19:46:31 +01:00
Daniel Hokka Zakrisson
e4b72c0fd5
Revert to just escaping \ for JSON-args
2013-02-27 19:43:27 +01:00
Daniel Hokka Zakrisson
1601f0b4d7
Use repr to transfer JSON-arguments, so Python doesn't eat things
...
Fixes transferring newlines in args:, as well as """.
2013-02-27 17:16:23 +01:00
Daniel Hokka Zakrisson
bcf7a2c53a
Catch all exceptions coming from lookup plugins
...
Fixes using $TEMPLATE() and hostvars in a task without a name, among
other things.
2013-02-27 10:11:14 +01:00
Brian Coca
e9907e9c8a
added random cow pick through ANSIBLE_COW_SELECTION env var
...
Signed-off-by: Brian Coca <bcoca@tablethotels.com>
2013-02-26 22:41:01 -05:00
Michael DeHaan
1366c663eb
Merge branch 'copy-diff-take2' of git://github.com/stoned/ansible into better_diff
...
Conflicts:
library/file
2013-02-26 20:51:32 -05:00
Daniel Hokka Zakrisson
93f02d614b
Merge pull request #2187 from dhozac/argument-type-check
...
Add type checking for module arguments, converting as much as possible
2013-02-26 14:05:36 -08:00
Stoned Elipot
8816dc7ca7
Make diff header lines more explicit about what the diff is about
...
This gives a more readable output when producing diff for a task
with multiple items (with_items).
2013-02-26 16:53:59 +01:00
Stoned Elipot
1b8c9bab35
Fix diff when template destination is absent
2013-02-26 16:45:56 +01:00
Daniel Hokka Zakrisson
22e40b6a61
Merge pull request #2198 from skvidal/nolog-params
...
No_log params
2013-02-25 14:51:18 -08:00
Stoned Elipot
10e9f1fc1e
Implement --diff for the copy module.
2013-02-25 23:32:52 +01:00
Seth Vidal
f02ea15f0c
command: make sure that all _handle_aliases() calls returns {}
...
module_common: also work if there are no aliases (shell, command, etc) modules
2013-02-25 17:07:47 -05:00
Seth Vidal
c95848ae59
- add an aliases attribute as a lookup of aliasname to canonical name
...
of parameters
- add support for no_log attribute per-parameter which will not log
that information to syslog
2013-02-25 16:33:04 -05:00
Daniel Hokka Zakrisson
e32fbd312f
Shell-quote environment contents
2013-02-25 22:31:49 +01:00
Daniel Hokka Zakrisson
27f3ba53f9
Remove debug print for environment
2013-02-25 22:29:32 +01:00
Daniel Hokka Zakrisson
1df56c07d3
If expand_lists is true, make lookup plugin result into a string
...
Fixes #2196 .
2013-02-25 22:26:16 +01:00
Daniel Hokka Zakrisson
7e0ee6809c
Don't template delegate_to too early, not all vars are available
...
Fixes using delegate_to: $item within a playbook include.
2013-02-25 22:25:13 +01:00
Daniel Hokka Zakrisson
f03e845920
Allow hyphens in complex variables
...
Primarily to support ${hostvars.hostname-with-hyphens.<var>}.
2013-02-25 15:09:44 +01:00
Shaun Zinck
e7719e4e46
pass in int() args to get_pty
...
If LINES or COLUMNS was set, get_pty was failing because it was
expecting an int value to be passed in.
2013-02-24 13:39:03 -06:00
Michael DeHaan
294e43ba2f
Removing pipe once since it has some issues about evaluating more than once :)
2013-02-23 13:47:11 -05:00
Daniel Hokka Zakrisson
9076f8eb31
Add type checking for module arguments, converting as much as possible
...
Converts to list from comma-separated strings, and to dicts from
comma-separated, key=value strings.
Fixes #2126 .
2013-02-23 19:43:50 +01:00
Michael DeHaan
b75b9681a8
more places to use yaml.safe_load
2013-02-23 13:34:14 -05:00
Michael DeHaan
a9ea3136cf
Use yaml.safe_load as we are just using basic data structures
2013-02-23 13:33:21 -05:00
Michael DeHaan
5b31feb73b
Merge pull request #2179 from skinp/host_connection
...
Add support for connection type in ansible_hosts file
2013-02-23 09:58:17 -08:00
Patrick Pelletier
2b4ddfb0a2
Handle delegate_to case for local connections in hosts file
2013-02-23 12:28:42 -05:00
Michael DeHaan
e51707711c
Merge pull request #2120 from jpmens/doc_ex1
...
Add support for additional EXAMPLES string in Ansible modules
2013-02-23 08:58:34 -08:00
Michael DeHaan
f7fb681bb2
Fix comment in chroot connection type
2013-02-23 11:56:24 -05:00
Michael DeHaan
5a1aef5372
Merge branch 'local-chroot-support-v2' of git://github.com/mmoya/ansible into testing
2013-02-23 11:51:11 -05:00
Michael DeHaan
93f73739d3
Merge branch 'paramiko-termcap' of git://github.com/madduck/ansible into testing
2013-02-23 11:38:52 -05:00
Patrick Pelletier
4c0e6722c4
Add support for connection type in ansible_hosts file
2013-02-22 11:11:08 -05:00
Maykel Moya
9a493ef388
Add support for running modules chrooted in a local dir
...
Adds 'chroot' connection for executing modules chrooted to
a local dir. Requires running ansible as root.
chroot dirs should be specified in the inventory like any
other host.
You can do things like:
$ sudo -E ansible -vvv -f 1 "./chroot1,./chroot2" -c chroot \
all -m setup
$ sudo -E ansible-playbook -vvv -f 1 -i "./chroot1,./chroot2" \
-c chroot some-playbook.yml
some-playbook.yml:
---
- hosts: all
tasks:
- name: echo something
shell: echo "Yaaay!" >/tmp/foobar.txt
- name: install less
apt: pkg=less state=latest
2013-02-21 00:51:02 +01:00
Stoned Elipot
9f2bba01ba
Fix diff output vertical spacing
2013-02-20 22:45:45 +01:00
Michael DeHaan
6d604469d8
Always adjust file attributes with the template module.
2013-02-20 08:05:59 -05: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
ab389d8908
For consistency, add host should take a key named 'name' in addition to 'hostname'.
2013-02-17 20:45:37 -05:00
Michael DeHaan
c4779d95b8
Removing unused import, 'make pyflakes' is now clean.
2013-02-17 19:49:50 -05:00
Michael DeHaan
9cf66f4376
Fixes from 'make pep8'. Partial, more to come.
2013-02-17 19:40:38 -05:00
Michael DeHaan
11e7ede4d9
Merge pull request #2112 from kavink/devel
...
Fixing syntax error
2013-02-17 16:33:34 -08:00
Michael DeHaan
61d01f549f
Show a nicer message when attempting to diff unicode files.
2013-02-17 19:32:28 -05:00
Kavin Kankeshwar
359ac9a495
Fixing syntax error
...
running install_lib
byte-compiling /usr/lib/python2.6/site-packages/ansible/runner/action_plugins/add_host.py to add_host.pyc
SyntaxError: ('invalid syntax', ('/usr/lib/python2.6/site-packages/ansible/runner/action_plugins/add_host.py', 37, 92, ' def run(self, conn, tmp, module_name, module_args, inject, complex_args=None, **kwargs)\n'))
2013-02-17 15:35:58 -08:00
Daniel Hokka Zakrisson
43d22b0c42
Flatten argument to with_items
...
Fixes #1711 .
2013-02-17 22:08:23 +01:00
Michael DeHaan
f02b9987fc
We all agreed on the list that the ansible module common module snippet, since it's dynamically embedded in modules on the fly, should
...
be a BSD licensed snippet so that it's ok to write proprietary modules. The actual license of Ansible (GPLv3) or any modules
written for ansible (any) do not change.
2013-02-17 15:41:59 -05:00
Michael DeHaan
1ecf4a6943
Working on complex argument support.
2013-02-17 15:01:49 -05:00
Michael DeHaan
cd32597af0
Make the file module work as expected in check mode
2013-02-17 12:27:00 -05:00
Michael DeHaan
fa21b41357
Fixup the pipe_once plugin
2013-02-17 11:42:45 -05:00
Michael DeHaan
0af83317a1
Added a $PIPE_ONCE lookup plugin, that caches the result so it is only evaluated one time.
2013-02-17 11:37:41 -05:00
Michael DeHaan
b365e04616
Allow add_host to add hosts to multiple groups, groups is now an alias for groupname.
2013-02-17 11:22:50 -05:00
Rob Parrott
ef17fc9f20
add the ability to take variables in the add_host module, and be willing to parse a host:port hostname handed to add_host
2013-02-16 20:27:38 -05:00
Michael DeHaan
c8878998d1
update some of many copyright dates but we can just do this when editing each file, not super high priority
2013-02-16 15:32:01 -05:00
James Martin
7129a9e355
Using "OtherLinux" in module_commons, cleander detection in setup.
2013-02-16 13:32:48 -05:00
James Martin
5646bc278b
Support for amazon linux distribution facts.
2013-02-16 13:32:48 -05:00
Michel Blanc
0cd0a7fda3
Fixes jina typos
...
Moved *jina* to *jinja2*
2013-02-16 13:32:48 -05:00
Michel Blanc
1c22f2146e
Adds configurable jinja2 extension loading
...
Jinja extensions adds features to the jinja2 templating engine. This
patch allows module loading for the templating engine vian an
ansible.cfg configuration key (jinja_extensions).
The default behaviour doesn't change (no module loading).
Requested modules can be added coma separated in ansible.cfg
Adds whitespace handling in jinja_extension config
Added whitespace handling in jinja_extension configuration directive, so
things stay safe if user adds spaces around comas in the directives
list.
Adds config example for jinja_extensions
Added config example with multiple extentions for jinja_extensions
2013-02-16 13:32:48 -05:00
Blair Zajac
fa8e653011
Simplify and correct comparisons with None.
2013-02-16 13:32:48 -05:00
martin f. krafft
ab39909260
Initialise PTY from calling environment
...
If we need to acquire a PTY for sudo's use, then it should really
inherit the capabilities of the calling environment. This is what
OpenSSH does, and so it makes sense to copy this behaviour for the
paramiko connection type.
Closes : #2065
Signed-off-by: martin f. krafft <madduck@madduck.net>
2013-02-15 10:23:34 +13:00
martin f. krafft
1cf43e9afe
Only allocate a PTY when sudo is used
...
Postpone the paramiko.Channel.get_pty until we know sudo is used. If
sudo is not used, then we do not need a PTY. In fact, the paramiko docs
explicitly state that it's not desirable to allocate a PTY for a simple
exec_command.
Signed-off-by: martin f. krafft <madduck@madduck.net>
2013-02-15 10:17:43 +13:00
Nigel Metheringham
c0e28762f0
Allow end of line comments in inventory file
...
See github issue 2702
https://github.com/ansible/ansible/issues/2072
2013-02-13 14:15:22 +00:00
Daniel Hokka Zakrisson
7e2999ed2d
Add directory detection to _remote_md5 and use this in copy
...
If it is a directory, change the destination path by appending the
basename of the source file, like is done if the destination ends with a
/, and try to get the MD5 of the new path.
2013-02-12 22:39:05 +01:00
Daniel Hokka Zakrisson
d632210941
Allow using other users' home directories as well
2013-02-11 23:43:30 +01:00
Daniel Hokka Zakrisson
89e73c123f
Fix tilde expansion for fileglob
...
Use common suffix to determine what part of original term to keep and
how much of the full path to combine to get a usable filename.
2013-02-11 23:43:27 +01:00
Daniel Hokka Zakrisson
57e51f7fdf
Clean up some extra_vars redundancy
2013-02-11 23:25:50 +01:00
Chris Hoffman
9057f72881
Removing duplicate import, adding missing import
2013-02-10 18:31:55 -05:00
Daniel Hokka Zakrisson
a1e00c93e5
Add ansible_ssh_user/pass to enable inventory-defined users
2013-02-10 23:22:18 +01:00
Daniel Hokka Zakrisson
c83e428a7e
Default expand_lists to True and set it to False for only_if
...
Fixes #2026 and #2027 .
2013-02-10 22:57:53 +01:00
Michael DeHaan
f7497e75e5
Able to use "environment: " on any task to pass proxy details and other useful settings. Can be a variable
...
or a dictionary.
2013-02-10 13:05:58 -05:00
Michael DeHaan
72a05ae2a0
Move diff code more into runner code.
2013-02-09 23:24:03 -05:00
Michael DeHaan
0ad6ac4086
Fix group depth for nested groups
2013-02-09 22:52:35 -05:00
Michael DeHaan
828119d823
Allow the remote username to come from a variable set in vars_files or vars
2013-02-09 22:42:35 -05:00
Michael DeHaan
e6ead2ca74
make things like $FILE(/etc/path/foo.conf) and $ENV(HOME) work without having to use brackets to index them
2013-02-09 22:35:27 -05:00
Michael DeHaan
c692de6b80
Cleanup YAML parse error warning code a tiny amount.
2013-02-09 14:30:19 -05:00
Steve Frank
36027ddbba
Squashed commit of the following:
...
Changed ami_tags to instance_tags to better follow naming convention
Add support for creating tags on the new instances
2013-02-09 11:43:30 -05:00
Michael DeHaan
a894791767
Slightly friendlier error on missing hosts file, slightly friendlier error on inventory script returning invalid syntax
...
(or if inventory is non-script and accidentally executable).
2013-02-09 11:37:55 -05:00
Brian Coca
ca5f52b825
now missing hosts file gives nice message and no traceback
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-02-09 11:32:18 -05:00
Brian Coca
0e8627b7e8
added block device info gathering, full for linux, partial for freebsd added prettyfing byte function Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
...
moved moutns out of devices Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-02-09 11:15:22 -05:00
Matt Cordial
2ccfc8d2b6
Fix Issue #2025 where templates were not being transfered.
2013-02-08 12:03:54 -07: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
Daniel Hokka Zakrisson
f3305564e2
Add stderr contents to parse errors
2013-02-07 23:50:00 +01:00
Daniel Hokka Zakrisson
19f3cf45f4
Merge pull request #1982 from dex4er/feature_j2_filter_safe_yaml
...
Use yaml.safe_dump rather than yaml.dump. No more "!!python/unicode".
2013-02-07 13:24:08 -08:00
Daniel Hokka Zakrisson
dddfeac9c4
Allow using ${hostvars.<node>} for nodes not in SETUP_CACHE
...
This allows accessing inventory data from nodes that have not been
talked to (yet).
2013-02-07 18:40:41 +01:00
Daniel Hokka Zakrisson
ffd4ae11b8
Merge pull request #1993 from fdavis/timeout_ssh
...
Add ConnectTimeout=DEFAULT_TIMEOUT to ssh args
2013-02-07 03:20:46 -08:00
Daniel Hokka Zakrisson
70d5dad726
Also catch NameErrors which would indicate missing quotes
2013-02-07 11:56:59 +01:00
Daniel Hokka Zakrisson
bc709e7b67
expand_lists should default to False
2013-02-07 11:56:59 +01:00
fdavis
21a5c55921
Add ConnectTimeout=DEFAULT_TIMEOUT to ssh args
2013-02-06 23:42:04 -08:00
Daniel Hokka Zakrisson
98f0a9210e
Raise an error when multiple when_* statements are provided
...
Fixes #1994 .
2013-02-07 08:11:30 +01:00
Daniel Hokka Zakrisson
d5e63332fe
Raise an error if an action doesn't have a string type
...
Happens with e.g. "command: true" that YAML helpfully converts to a
bool.
2013-02-06 16:41:34 +01:00
Rune Kaagaard
7a8b27f716
Fixing bug with unicode templates.
...
The utils.md5s() function would break when calculating checksums
for non-ascii characters. Convert to utf-8 first.
2013-02-05 14:49:59 +01:00
Daniel Hokka Zakrisson
c1b63d1500
Fix for when conditional is a simple bool already
...
Fixes #1983 .
2013-02-04 20:12:53 +01:00
Piotr Roszatycki
8cf268441e
Use yaml.safe_dump rather than yaml.dump. No more "!!python/unicode".
2013-02-04 13:40:07 +01:00
Daniel Hokka Zakrisson
1becc665b2
Fix missing ) in add_host
...
Fixes #1980 .
2013-02-04 12:21:33 +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
d8d1f2cd7a
Split PATH on os.pathsep, that is what it's there for
2013-02-03 23:57:34 +01:00
Daniel Hokka Zakrisson
a025cfcb33
Add on_import_for_host callback from non-list case
2013-02-03 23:37:29 +01:00
Daniel Hokka Zakrisson
a79373f6b2
Make template_ds the only templater
...
Instead of having to remember when to use which one, rename template_ds
to template and move the last bit of code from template to varReplace
(which gets used for all string replacements, in the end).
This means that you can template any data type without worrying about
whether it's a string or not, and the right thing will happen.
2013-02-03 14:01:54 +01:00
Michael DeHaan
f7aaa5ccc5
Fix copyright, unused imports
2013-02-02 13:06:48 -05:00
Michael DeHaan
857ccf7f6c
Add random choice plugin (with_random_choice)
2013-02-02 13:02:47 -05:00
Michael DeHaan
318e3302fb
Fix up some version related things on the devel branch.
2013-02-01 21:38:21 -05:00
Daniel Hokka Zakrisson
f7e286cf34
Fix error format for invalid vars_files
2013-01-31 20:25:28 +01:00
Seth Vidal
83b9654c63
stop updating SETUP_CACHE in run_play as per comment on pr 1945
2013-01-31 11:24:22 -05:00
Seth Vidal
f649777072
- make extra-vars override all other vars and facts in playbooks
2013-01-30 11:56:04 -05:00
Daniel Hokka Zakrisson
b79960e13b
If failed lookups are fatal, re-raise the exception
...
Fixes #1938 .
2013-01-29 10:31:33 +01:00
Daniel Hokka Zakrisson
e166f71fcc
Get output before receiving return code
...
Fixes hangs observed with large amounts of output, as it would get into
a dead-lock.
2013-01-29 00:38:07 +01:00
Michael DeHaan
4d8f3b0924
This standardizes the apt_key module some
...
* improves error handling and reporting
* uses run_command to reduce code
* fails quicker on errors as opposed to return codes and tracebacks
* can now also specify the key as data versus needing to wget it from a file
2013-01-28 15:48:55 -05:00
Daniel Hokka Zakrisson
5268d49bad
Add sudo_flags configuration option to alter sudo behaviour
...
Default to -H to set $HOME appropriately.
2013-01-28 17:41:43 +01:00
Les Aker
f4eed3710b
fixed check for required_together
2013-01-27 12:39:35 -05:00
Michael DeHaan
0030a2bd09
Allow handler files to be empty lists.
2013-01-27 10:40:29 -05:00
Michael DeHaan
0c2f67ef66
Merge pull request #1923 from fdavis/ans_env_addition
...
add env vars for plugins action,callback,connection,lookup,vars,filter
2013-01-26 10:30:39 -08:00
Michael DeHaan
36066d8664
Fixup ec2_facts docs parsing
2013-01-26 12:34:30 -05:00
fdavis
925c1a4611
add env vars for plugins action,callback,connection,lookup,vars,filter
2013-01-26 09:25:35 -08:00
Daniel Hokka Zakrisson
4d71b31f7e
Ensure destination and source are available before mangling them
...
Fixes #1918 .
2013-01-25 23:14:52 +01:00
Daniel Hokka Zakrisson
6f9099c51d
Merge pull request #1898 from silviud/fix_inventory_list_groups
...
Inventory class - lambda fails on attribute access - g.name is a string not the group obje...
2013-01-25 08:35:03 -08:00
Daniel Hokka Zakrisson
53fd85e2c4
Merge pull request #1903 from leucos/mergeable-hash-vars
...
Adds user-selectable hash merging support in vars
2013-01-25 08:29:05 -08:00
Daniel Hokka Zakrisson
864b75e54b
Override Jinja2 Template class to make {% include %} work again
...
Fixes #1908 .
2013-01-25 14:16:29 +01:00
Michel Blanc
8eb7d740b0
Fixes hash merging
...
No need for deep copy (vars are essentially immutable once loaded, there
should not be any modifications)
2013-01-24 00:53:12 +01:00
Michel Blanc
e28e538c6e
Adds user-selectable hash merging support in vars
...
Hash variables are currently overriden if they are redefined. This
doesn't let the user refine hash entries or overriding selected keys,
which can, for some, be a desirable feature.
This patch let the user force hash merging by setting the
hash_behaviour value to "merge" (without the quotes) in ansible.cfg
However, by default, ansible behaves like it always did and if any value
besides "merge" is used ("replace" is suggested in the example ansible.cfg
file), it will also behave as always.
2013-01-23 21:39:34 +01:00
Bowe Strickland
2b3d6d4545
protect PluginLoader._extra_dirs from appending None
...
PluginLoader.add_directory() can receive None from, for example,
Inventory.add_directory(self.basedir()) if host_list is a custom list.
None has no reasonable interpretation other than ignore it.
2013-01-23 13:55:12 -05:00
Silviu Dicu
f7694ac433
lambda fails on attribute access - g.name is a string not the group object
2013-01-23 11:44:23 -05:00
Daniel Hokka Zakrisson
94a1c221bc
Update variable precedence section with current rules
2013-01-22 16:56:04 +01:00
Daniel Hokka Zakrisson
a16ddb57c1
Default module search path is included already
...
Adding it to runner's module_path makes it override local modules.
2013-01-22 15:42:49 +01:00
Daniel Hokka Zakrisson
35b58955d6
Fix paramiko for when no private key is specified
2013-01-21 21:48:02 +01:00
Michael DeHaan
ef38e9f0e6
Merge pull request #1875 from cocoy/vars_prompt_default
...
Adding default on vars_prompt
2013-01-21 06:57:50 -08:00
Tim Gerla
4c64d0d6be
Expand ~ shell shortcuts for the --private-key argument
2013-01-20 13:16:29 -08:00
Michael DeHaan
35c7ebf7a4
Revert "Update lib/ansible/utils/__init__.py"
...
Reported hanging of no-password sudo in some cases. Need to explore.
This reverts commit 87f6739e20
.
Conflicts:
lib/ansible/utils/__init__.py
2013-01-20 09:05:07 -05:00
ron1
280660b8a7
Support sudo alternatives that offer sudo-compatible interfaces
2013-01-19 08:40:32 -05:00
Rodney Quillo
395093e0bf
Move default arguments to the end of the function call.
2013-01-19 08:34:47 +08:00
Michael DeHaan
c8fc353bc3
Merge pull request #1811 from fdavis/devel
...
add when_{failed,changed}, and extended when_{set,unset}
2013-01-18 15:18:00 -08:00
Michel Blanc
87f6739e20
Update lib/ansible/utils/__init__.py
...
Adds -i to make_sudo_cmd so target user's environment gets loaded when configurationslike this are used :
- hosts: ubuntu
name: Install ruby for the configured ruby user
sudo: True
sudo_user: rubyuser
# should be ${ruby_user}, but can't for now because of #1665
tasks:
- name: Gets current ruby version
action: shell rbenv version
register: ruby_current_version
2013-01-18 16:03:50 +01:00
Rodney Quillo
7ae100611c
Adding default on vars_prompt
2013-01-18 19:00:57 +08:00
Stephen Fromm
4eaee3df0a
Various cleanup to run_command
...
* Rename fail_on_rc_non_zero to check_rc, much more succinct.
* Simplify method defintion
* Fix command module and drop shell=shell option; whether to use
shell is determined by if args is a list.
2013-01-13 11:24:21 -08:00
Stephen Fromm
300531507b
Add method run_command to module_common.py
...
This adds a helper method that modules can call to execute a command via
subproces. It takes two arguments: the command to run and
keyword options that control how the process is executed. Supported
options are: fail_on_rc_non_zero, close_fds, and executable.
fail_on_rc_non_zero will call fail_json if the command fails. If
args is a list, the command will be run with shell=False; otherwise, if
a string, it will be run with shell=True. Otherwise, run_command() returns
the returncode, stdout, and stderr.
2013-01-13 08:30:33 -08:00
Daniel Hokka Zakrisson
d11262af4d
Fix raw (no executable) support on -c local
2013-01-13 15:16:13 +01:00
Daniel Hokka Zakrisson
5231be5d4b
Add sudo password support for local
2013-01-13 15:16:13 +01:00
Daniel Hokka Zakrisson
7ecab22302
Move sudo command making to one common function
2013-01-13 15:16:13 +01:00
Sergey Popov
e41f89d507
Fix distribution detection - return string instead of functions
2013-01-10 15:13:35 +04:00
Jayson Vantuyl
13ddd39db9
add with_sequence lookup plugin
...
Plugin allows you to do easy counts for items.
2013-01-09 15:30:24 -08:00
Dag Wieers
fb802beee7
In PR #1804 the use of C in script was moved to _low_level_execute_command()
...
So we cannot get rid of this one now.
2013-01-09 15:54:10 +01:00
Daniel Hokka Zakrisson
7782923ea2
Revert #1818 but avoid double-dwim, fixing relative fileglob
2013-01-09 14:52:52 +01:00
Daniel Hokka Zakrisson
891b1e371a
Default to not using an executable
...
For compatibility with older releases as well as avoiding things like
action: raw executable= show status
to communicate with devices that don't have sh.
2013-01-09 14:15:47 +01:00
Daniel Hokka Zakrisson
92ad206b84
Use re instead of shlex.split to find executable
...
shlex.split will strip quotes and it might not even be sh at this point.
2013-01-09 14:13:53 +01:00
Michael DeHaan
910667152c
Merge pull request #1843 from dagwieers/import-cleanup
...
Clean up imports (taken from PR #1804 )
2013-01-09 04:56:58 -08:00
Dag Wieers
b781438480
Clean up imports (taken from PR #1804 )
2013-01-09 13:51:27 +01:00
Daniel Hokka Zakrisson
87b2378e22
Resolve variable references inside variables
...
Fixes the case where variable x is '$y' and y is a dict(foo='bar') and
an attempt to access ${x.foo} is made.
2013-01-09 13:45:55 +01:00
fdavis
fe310dcff1
add when_failed, when_changed, and extended when_set/unset
...
This commit extends the 'when_' conditions to failed and changed
json results
Additionally it makes when_{set,unset,failed,changed,int,str,flt}
behave more similiarily in that they all except and/or/not logic
2013-01-08 19:51:48 -08:00
Daniel Hokka Zakrisson
1b5d039bf4
Extend executable= support in raw to include no execuable
...
Useful for managing not-UNIX things.
2013-01-08 17:45:37 +01:00
Daniel Hokka Zakrisson
4955587d8c
Merge pull request #1798 from dagwieers/raw-executable
...
Allow to change executable (shell/interpreter) when using raw
2013-01-08 08:35:08 -08:00
Daniel Hokka Zakrisson
c23eda82c2
Allow pattern[0] to address a single node
...
Replaces erroring out on it and requiring the abysmal pattern[0-0]
instead.
2013-01-07 18:20:09 +01:00
Michael DeHaan
03ab074d0d
Merge pull request #1821 from leucos/path-expand-fix
...
Expands path on file operations
2013-01-07 05:05:20 -08:00
willthames
4e50478a05
Fix behaviour when file handles a path with tilde
...
Two problems here
* unchecked exception handling and erroneous assumption as to why
an exception might fire
* although the file module expands the path, when using file_args
the unexpanded path is passed.
Expected result: ~/path/to/file should work fine
Actual result: exception is because it doesn't find file with a message
about not being able to get the selinux context
2013-01-07 16:30:29 +10:00
Daniel Hokka Zakrisson
4d48daff80
Actually allow using connection: on a task
2013-01-06 18:46:34 +01:00
Daniel Hokka Zakrisson
637370089a
Skip polling when all hosts were skipped
...
Fixes #1823 .
2013-01-06 16:49:29 +01:00
Daniel Hokka Zakrisson
947ec34116
Merge pull request #1807 from willthames/openlog_unicode_fix
...
syslog.openlog does not cope with unicode first argument
2013-01-05 08:17:03 -08:00
Michel Blanc
7d7e7fb8bc
Adds path expansion to two other methods
...
set_owner_if_different and set_group_if_different seems to need path
expansion too
2013-01-04 13:41:31 +01:00
willthames
411b2bf7d9
Added additional template variables
...
Added two additional template variables
* template_fullpath - absolute path to the template
* template_run_date - date that the template was rendered
Documented these additional variables in the module documentation
2013-01-04 16:36:02 +10:00
Daniel Hokka Zakrisson
caee51e90e
Allow only_if/when_* on task includes and apply it on all tasks within
2013-01-04 00:15:13 +01:00
Daniel Hokka Zakrisson
07b215d4fa
Check for non-accepted arguments combined with task includes
...
Throw an appropriate error for it.
2013-01-03 23:36:42 +01:00
Daniel Hokka Zakrisson
68f736e8d7
Make inventory variables available to vars_files
2013-01-03 23:16:38 +01:00
Daniel Hokka Zakrisson
a1877b2213
Allow infinite depth task includes
2013-01-03 23:01:04 +01:00
Daniel Hokka Zakrisson
4555cdc49c
Allow using connection: on the task level
...
This is the name of the setting on the play level, and the options.
Should be consistent.
2013-01-03 21:27:01 +01:00
Michel Blanc
0037a19389
Expands path on file operations
...
Path might have to be expanded on some operations. It seems that path
containing '~' are not.
Using os.path.expanduser in appropriate places solves the problem, but
this might be required in many other places.
2013-01-03 16:39:57 +01:00
Stephen Fromm
2100a35663
Update path_dwim() to return absolute path
...
If path_dwim() is provided a relative path to a file, it will now return an
absolute path of the playbook directory + the relative file path.
2013-01-02 21:53:00 -08:00
willthames
5ef077e58c
syslog.openlog does not cope with unicode first argument
...
It seems that os.path.basename(__file__) can return a unicode
string. In this case syslog.openlog fails. Forcing the result
to a string causes the resulting error to go away.
2012-12-27 14:54:16 +10:00
Dag Wieers
eb36ff45b9
Make script module use raw module so it does not require python
2012-12-24 00:24:34 +01:00
Dag Wieers
846161a1a4
Allow to change executable (shell/interpreter) when using raw
...
This patch adds an optional 'executable=' option to the raw command line to override the default shell (/bin/sh), much like the shell module does.
2012-12-23 20:49:02 +01:00
Dag Wieers
988db558b3
Add return code and error output to raw module
...
Since we use 'raw' heavily on equipment where 'command' and 'shell' are not (yet) working (and python may need to be installed first using raw) these improvements are necessary in order to write more complex scripts (with return code handling and separated stdout/stderr).
This change includes the following changes:
- exec_command() now returns the return code of the command
- _low_level_exec_command() now returns a dict, including 'rc', 'stdout' and 'stderr'
- all users of the above interfaces have been improved to make use of the above changes
- all connection plugins have been modified to return rc and stderr
- fix the newline problem (stdout and stderr would have excess newlines)
In a future commit I intend to add assertions or error handling code to verify the return code in those places where it wasn't done. Since only the output was available, the return code was ignored, even though we expect them to be 0.
2012-12-23 18:04:54 +01:00
Daniel Hokka Zakrisson
d4c63e3300
Ensure each basedir is only added to the search path once
...
Fixes #1790 .
2012-12-20 14:17:12 +01:00
Daniel Hokka Zakrisson
3a36c024da
Make lookups being fatal up to the caller
...
Fixes #1769 .
2012-12-19 19:19:04 +01:00
Daniel Hokka Zakrisson
97cc384ccf
Set basedir to . if there isn't one
...
This avoids special-casing '' = '.' everywhere the basedir gets used.
Fixes #1729 .
2012-12-19 13:22:57 +01:00
Daniel Hokka Zakrisson
0f1706220b
Add support for using the Jinja2 built-ins such as range
2012-12-19 09:42:15 +01:00
Michael DeHaan
d34e320e12
Merge pull request #1733 from dhozac/lookup-list
...
Make all lookup plugins accept lists as arguments
2012-12-17 16:53:01 -08:00
Michael DeHaan
04195e202d
Merge pull request #1747 from njharman/alpharange
...
Alphabetic inventory hostname patterns.
2012-12-17 16:52:11 -08:00
Michael DeHaan
4bcdd24688
Merge pull request #1776 from junegunn/inventory-group-var-ws
...
Allows whitespaces around assignment operators when defining group variables
2012-12-17 16:51:49 -08:00
Junegunn Choi
8896486606
Adds comments on handling quoted group vars
2012-12-16 10:32:05 +09:00
Daniel Hokka Zakrisson
c2792a936d
Allow parameterized playbook includes to define complex variables
...
To be used like:
- include: playbook.yml
vars:
mylistvar:
- item1
- item2
2012-12-15 21:56:28 +01:00
Daniel Hokka Zakrisson
b73016b881
Make all lookup plugins work with lists
...
Lookup plugins should accept a string or a list, and always return
a list, even if it is just one item.
2012-12-15 21:47:16 +01:00
Michael DeHaan
6350dedd7a
Merge pull request #1765 from dagwieers/skip-when-no-matches
...
Change message when a play matches no hosts
2012-12-15 11:59:37 -08:00
Michael DeHaan
ad2ab6a5dd
Merge pull request #1772 from fdavis/devel
...
change error message on check_conditional when variable does not exist
2012-12-15 11:58:52 -08:00
Michael DeHaan
29611bdedf
Merge pull request #1777 from dominis/devel
...
fixes #1767 parsing serial from extra_vars
2012-12-15 11:52:40 -08:00
Junegunn Choi
7fbb7e079a
Fix hostname expansion bug in inventory parser
2012-12-16 01:49:12 +09:00
Nandor Sivok
f31fbdff1f
moving int() conversion to the play init
2012-12-14 18:05:08 +01:00
Nandor Sivok
e91db5fcdc
fixes #1767 parsing serial from extra_vars
2012-12-14 13:21:58 +01:00
Junegunn Choi
daf797804b
Allows whitespaces around assignment operators
...
when defining group variables
2012-12-14 20:43:29 +09:00
fdavis
7347e54b70
change error message on check_conditional when variable does not exist
2012-12-13 23:02:30 -08:00
Stephen Fromm
ccca5fcd1c
Ensure files created by authorized_key have correct selinux context
...
Three changes:
* Add set_default_selinux_context() to module_common that sets
a file's context according to the defaults in the policy
* In atomic_replace(), set the default context for the file if
selinux is enabled and the destination file does not exist.
* In authorized_key, set the default context when creating
$HOME/.ssh and $HOME/.ssh/authorized_keys. If these already
exist, this won't touch them.
2012-12-13 16:35:49 -08:00
Dag Wieers
cd930d2e34
Change message when a play matches no hosts
...
I guess my previous pull request was confusing, by changing the message to something we already do for tasks, it makes it more clear.
Just like we say:
TASK: [foo bar]
skipping: [system01]
The message now is more clear:
PLAY [wagawaga] *******************************
skipping: no hosts matched
It makes it clear that we are skipping the play, just as is done for a task when a condition is not met.
2012-12-13 13:31:41 +01:00
Michael DeHaan
70bb7d1e54
Merge pull request #1696 from gregorg/enhance_limit
...
Allow regex to be used to select hosts in addition to fnmatch pattern
2012-12-12 14:51:44 -08:00
Daniel Hokka Zakrisson
54b45e9bd4
Allow intersecting host patterns by using &
...
This allows patterns such as webservers:!debian:&datacenter1 to target
hosts in the webservers group, that are not in the debian group, but are
in the datacenter1 group. It also parses patterns left to right.
2012-12-12 11:36:12 +01:00
Norman J. Harman Jr
6603737e4d
Alphabetic inventory hostname patterns.
...
- Code, docs, tests.
- Also added test of large range 000-142 to verify alpha range did not
break this.
2012-12-10 20:48:38 -06:00
Dag Wieers
dd4ac46397
Import errno to avoid 'NameError: global name 'errno' is not defined'
...
I hit the following exception because errno is referenced but not imported.
```
fatal: [system01] => failed to parse: Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-1354644532.37-246102819320352/copy", line 782, in <module>
main()
File "/root/.ansible/tmp/ansible-1354644532.37-246102819320352/copy", line 117, in main
module.atomic_replace(dest_tmp, dest)
File "/root/.ansible/tmp/ansible-1354644532.37-246102819320352/copy", line 772, in atomic_replace
if e.errno != errno.EPERM:
NameError: global name 'errno' is not defined
```
2012-12-04 19:27:22 +01:00
Michael DeHaan
dbf5a57a5a
Merge pull request #1683 from bcoca/template_override
...
Template override
2012-12-02 10:15:10 -08:00
Daniel Hokka Zakrisson
e54b4b1c9a
Ignore arguments when checking for interpreter, and re-add before use
2012-12-02 14:28:52 +01:00
Daniel Hokka Zakrisson
d5a456fbcf
Merge pull request #1697 from bcoca/mint
...
Implements multiple interpreter overrides
2012-12-02 05:28:28 -08:00
Daniel Hokka Zakrisson
ffac7ce2f9
Merge pull request #1687 from dhozac/allow-grouping-in-external-inventory
...
Allow inventory scripts to define groups of groups and group vars
2012-12-02 05:26:54 -08:00
Dag Wieers
c65c00cb34
Updated ansible version to align with RPM package
2012-12-01 16:37:10 +01:00
Michael DeHaan
5890a2a9da
Release stuff
2012-11-30 22:06:25 -05:00
Michael DeHaan
9afb7c1ed0
Get ready to release 0.9
2012-11-30 22:03:31 -05: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
8d309e0fa3
Allow inventory scripts to define groups of groups and group vars
2012-11-28 23:37:29 +01:00
Daniel Hokka Zakrisson
b8d6dec5ad
Reset notified_by list per serialized batch
...
Fixes the case where a handler attempts to run for every batch after any
batch has notified it, regardless of whether the current batch did.
2012-11-28 22:04:44 +01:00
Daniel Hokka Zakrisson
a56e1f31fa
Properly restrict hosts after 9070875
2012-11-28 22:03:23 +01:00
Daniel Hokka Zakrisson
f6245e17c1
Skip evaluating only_if for BYPASS_HOST_LOOP plugins
2012-11-28 21:37:30 +01:00
Daniel Hokka Zakrisson
bda08c8a1b
Avoid creating temporary directory for some action plugins
...
This ensures we don't litter remote systems with temporary directories
that don't get cleaned up, as well as speeds things up from not having
to touch every node.
2012-11-28 21:34:55 +01:00
Daniel Hokka Zakrisson
f6e7381a71
Evaluate only_if in group_by
2012-11-28 16:22:58 +01:00
Daniel Hokka Zakrisson
9070875a6f
Move available hosts gathering to a common function
2012-11-28 01:03:18 +01:00
Daniel Hokka Zakrisson
5065103017
Skip already failed hosts
...
Fixes #1699 .
2012-11-28 00:54:08 +01:00
Daniel Hokka Zakrisson
c948c65bcd
Template the name of the task
...
Broken by 1e0295c
. Fixes #1698 .
2012-11-28 00:36:10 +01:00
Brian Coca
2f2bd87b06
multiple _interpreter overrides with ansible_<bin>_interpreter variables, not
...
just for python anymore
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2012-11-27 11:18:57 -05:00
Gregory Duchatelet
dde01dabc3
Squashed commit of the following:
...
commit 48069adf0f47b09f675a9ba59360ca216b695ceb
Author: Gregory Duchatelet <skygreg@gmail.com>
Date: Tue Nov 27 10:13:08 2012 +0100
Removing this plugin from this branch.
commit 15400fffe643ad3e66d6b5a296fe62d36d9a617a
Author: Gregory Duchatelet <skygreg@gmail.com>
Date: Tue Nov 27 09:53:16 2012 +0100
Enhance _match function in inventory with regex.
--limit ~regex could be used to filter hosts or group with a regex.
Tested on cli and ansible-playbook.
commit 63c1b2e17ec6daa282e0a3af2249bda8f734dcd3
Author: Gregory Duchatelet <skygreg@gmail.com>
Date: Tue Nov 27 09:03:41 2012 +0100
Revert pull request #1684
commit 7c2c6fee3a856c52c1960b96ec2e7ca1112c35a1
Merge: f023a2f dd5a847
Author: Gregory Duchatelet <skygreg@gmail.com>
Date: Tue Nov 27 08:52:53 2012 +0100
Merge remote branch 'upstream/devel' into devel
commit f023a2f3df4a4c2ab2dfcc5aa42c57c02358a47a
Author: Gregory Duchatelet <skygreg@gmail.com>
Date: Mon Nov 26 20:52:27 2012 +0100
Add an inventory plugin to fetch groups and host from our CMDB.
commit c64193b4c67053e6e197b89c7143b9770cf71f23
Author: Gregory Duchatelet <skygreg@gmail.com>
Date: Mon Nov 26 20:43:30 2012 +0100
Added possibility to filter hosts from a group, with a regex, separating
groupname and regex with a ~
Usage in group pattern: group~filterpattern
Samples:
ansible group~server-0[1236] -m ping
ansible web~proxy -m ping
ansible web~(proxy|frontend) -m ping
2012-11-27 16:36:58 +01: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
Daniel Hokka Zakrisson
d703f92077
Disable authentication methods that weren't specified
2012-11-27 15:24:33 +01:00
Stephen Fromm
6a68d3813f
Set LANG in module_common.py
...
Add constant DEFAULT_MODULE_LANG that defaults to C. Can be set via
environment variable ANSIBLE_MODULE_LANG or configuration variable
module_lang. Updated test-module to have same behavior.
2012-11-27 00:16:06 -08:00
Michael DeHaan
da90c5f75e
Document 'when' and tweak the code to be a little more comprehensive on what is false.
2012-11-26 18:37:44 -05:00
Daniel Hokka Zakrisson
43bdec8b20
Throw an error if multiple actions have been specified
2012-11-26 22:42:44 +01:00
Daniel Hokka Zakrisson
1e0295c7e2
Template handlers late
...
This allows overriding variables in name, and removes templating from
parsing.
2012-11-26 22:07:57 +01:00
Daniel Hokka Zakrisson
ebd31af940
Don't prompt for vars in extra-vars
...
Fixes #1622 .
2012-11-26 22:07:57 +01:00
Daniel Hokka Zakrisson
94fc3006e9
Make variables local to the play
...
Fixes #1677 .
2012-11-26 22:07:57 +01:00
Brian Coca
d7f38d07b3
fixed bug for string size mismatch, now substring depends on size of match string Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2012-11-26 10:41:13 -05:00
Brian Coca
6a1e2aaff5
moved override matching string to variable changed test template to match Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2012-11-26 10:41:13 -05:00
Brian Coca
68f5d69365
added ability to override jinja enviornment from first line of template Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2012-11-26 10:41:13 -05:00
Daniel Hokka Zakrisson
0c70abfaa9
Make sure any existing groups gets reused
2012-11-25 12:42:30 +01:00
Daniel Hokka Zakrisson
5504f13c68
Create groups in the first run through the file
...
Fixes #1208 .
2012-11-25 01:00:14 +01:00
Daniel Hokka Zakrisson
2bfb7deec0
Set all in the returned dict
...
Otherwise the group is lost, and group_vars/all isn't used.
2012-11-25 00:15:22 +01:00
Michael DeHaan
33196ec131
Merge pull request #1669 from dagwieers/ssh-tcgetattr2
...
Use proper pseudo-tty's instead of pipes when using subprocess
2012-11-24 08:30:26 -08:00
Dag Wieers
7192eb3047
Use proper pseudo-tty's instead of pipes when using subprocess
...
This change avoids the "tcgetattr: Invalid argument" error by making sure the ssh we start does have a proper pseudo-tty.
We could also check whether our current terminal is a proper terminal (by doing a tcgetattr ourselves) but I don't think this adds anything.
This closes #1662 (if all use-cases have been tested: sudo, passwd)
2012-11-23 22:39:30 +01:00
Daniel Hokka Zakrisson
db1a65342a
Set -c local cwd to . if basedir is empty
2012-11-23 13:36:09 +01:00
Daniel Hokka Zakrisson
715d875dcb
Group should only return its own variables
...
Otherwise, a host in two groups, A and B, using a variable defined
in group A and all will get the value of all, as B's variables will
include the all variable.
Partially fixes #1647 .
2012-11-23 00:54:07 +01:00
Daniel Hokka Zakrisson
e44b85daba
Remove special-casing for all group
...
global_vars has higher precedence than inventory. Putting the all
group's variables into it overrides all other groups and hosts.
Partially fixes #1647 .
2012-11-23 00:54:02 +01:00
Daniel Hokka Zakrisson
bd7e02d629
Get all groups' variables in order of depth
...
Fixes all not being processed, as well as the order of the variable
precedence
2012-11-23 00:20:52 +01:00
Daniel Hokka Zakrisson
d5dd89a8f7
Allow specifying when: ...
2012-11-22 23:11:42 +01:00
Daniel Hokka Zakrisson
fd732f8d3b
Add when_boolean
...
Fixes #1567 .
2012-11-22 23:10:11 +01:00
Daniel Hokka Zakrisson
ddef608c94
Wrap all remote commands in sh
2012-11-22 20:06:30 +01:00
Daniel Hokka Zakrisson
047d089cea
Restore git output on --version
...
Broken by the move from utils.py to utils/__init__.py
2012-11-21 23:54:42 +01:00
Daniel Hokka Zakrisson
ef357ed1f2
Use the play's vars for the setup step
...
Allows using -e ansible_ssh_port=foo and have it apply to all actions.
2012-11-21 23:42:24 +01:00
Daniel Hokka Zakrisson
d1c285b70b
Port may be an integer when parsed from the play
2012-11-21 17:20:03 +01:00
Michael DeHaan
82f4aef959
Merge pull request #1648 from dhozac/local-cwd-basedir
...
Use runner's basedir as cwd for -c local
2012-11-21 06:40:01 -08:00
Michael DeHaan
41af2fce64
Merge pull request #1650 from dagwieers/port-not-integer-exception
...
Provide a proper error when the remote_port is not an integer
2012-11-21 06:39:24 -08:00
Daniel Hokka Zakrisson
3ce63d845e
remote_port is None by default
2012-11-21 14:10:10 +01:00
Daniel Hokka Zakrisson
6b69b37eb0
Merge pull request #1649 from dagwieers/template-port
...
Allow the remote port to be templated per play
2012-11-20 13:16:34 -08:00
Dag Wieers
85bba04a1c
Provide a proper error when the provided port is not an integer
...
As reported on the mailinglist, the user received a ValueError when the port number was not templated (fixed in #1649 ) and therefore it was not an integer. This change will catch the exception and provide a proper error so it is more clear.
2012-11-20 19:06:27 +01:00
Dag Wieers
8458f53014
Allow the remote port to be templated
...
This was requested on the mailinglist and seems useful.
2012-11-20 18:53:40 +01:00
Daniel Hokka Zakrisson
48898993b9
Fix removing of temporary files
2012-11-20 16:51:19 +01:00
Daniel Hokka Zakrisson
0ebf4b2d5a
Add destination path to fetch result
2012-11-20 15:39:48 +01:00
Daniel Hokka Zakrisson
bdf05ec9a0
Use runner's basedir as cwd for -c local
2012-11-20 15:36:43 +01:00
Daniel Hokka Zakrisson
f89f07871d
Fix typo in first_available_file error path
2012-11-19 23:02:26 +01:00
Daniel Hokka Zakrisson
f95fefd8c5
Use plugin system to find modules
2012-11-18 19:09:21 +01:00
Daniel Hokka Zakrisson
5dd2ec2cae
Add a way to add directories to just one type of loader
2012-11-18 19:08:59 +01:00
Daniel Hokka Zakrisson
d2abfb9ff8
Ensure runner adds its basedir, so ansible can benefit from plugins
2012-11-18 18:37:20 +01:00
Daniel Hokka Zakrisson
5183417de8
Reinstate ANSIBLE_KEEP_REMOTE_FILES
...
Fixes #1395 .
2012-11-18 18:32:45 +01:00
Daniel Hokka Zakrisson
11175781b8
Use slurp for fetch is sudo is enabled and needed
...
Fixes #1020 .
2012-11-18 17:54:00 +01:00
Daniel Hokka Zakrisson
11afd84d32
Drop dwim prefix from returned items in fileglob
...
Fixes #1618 .
2012-11-18 00:25:38 +01:00
Michael DeHaan
1b78dabcd4
Merge pull request #1632 from dhozac/use-ssh-conn-section-for-scp
...
Use the ssh_connection section for scp_if_ssh
2012-11-17 07:41:35 -08:00
Michael DeHaan
3bc0adacbf
Merge pull request #1634 from dhozac/ssh-password
...
Add password support to -c ssh via sshpass
2012-11-17 07:37:51 -08:00
Daniel Hokka Zakrisson
e6fed9f216
Add password support to -c ssh via sshpass
2012-11-16 23:46:49 +01:00
Daniel Hokka Zakrisson
021172f78d
Use the configured remote_tmp even for root
2012-11-16 23:46:17 +01:00
Daniel Hokka Zakrisson
c906f44d90
Use the ssh_connection section for scp_if_ssh
2012-11-16 23:45:47 +01:00
Michael DeHaan
ab5c0dfe7e
__new__ does not take arguments, remove deprecation warning
2012-11-14 19:58:44 -05:00
Michael DeHaan
096607eea4
Allow fireball to transfer binary files, fixup fireball docs, make fetch work with fireball.
2012-11-14 18:37:17 -05:00
Michael DeHaan
d500398e76
Merge pull request #1616 from dagwieers/skip-register
...
Do not register variable if host has been skipped
2012-11-14 06:33:30 -08:00
Michael DeHaan
52e2654faf
Merge pull request #1621 from dhozac/lookup-with-vars
...
Lookup plugin arguments need to be templated
2012-11-14 06:32:39 -08:00
Daniel Hokka Zakrisson
17e4ce97a4
Create a set of all the hosts in a group to prevent duplicates
...
Fixes #1516 .
2012-11-14 13:35:21 +01:00
Daniel Hokka Zakrisson
e74ffd6764
Lookup plugin arguments need to be templated
2012-11-14 11:17:30 +01:00
Dag Wieers
302eeae65d
Do not register variable if host has been skipped
...
Executive summary: skipping a host corrupts a variable (when it is registered)
We have a play existing out of multiple tasks that check a condition, if one of these tasks fails we want to skip all next tasks in the playbook. I noticed that if we skip a task because a certain condition is met, and this task has a register-attribute, I loose the value in the variable. Which means we cannot use that variable in subsequent tasks to evaluate because it was skipped:
```
- action: command test -d /some/directory
register: task
- action: command test -f /some/directory/file
register: task
only_if: '${task.rc} == 0'
- action: do something else
only_if: '${task.rc} == 0'
```
In the above example, if the second task is skipped (because the first failed), the third action will end with a "SyntaxError: invalid syntax" complaining about the unsubstituted ${task.rc} (even though it was set by the first task and used for skipping the second).
The following play demonstrates the problem:
```
- name: Test register on ignored tasks
hosts: all
gather_facts: no
vars:
skip: true
task: { 'rc': 666 }
tasks:
- action: debug msg='skip = ${skip}, task.rc = ${task.rc}'
- name: Skip this task, just to test if task has changed
action: command ls
register: task
only_if: '${skip} != True'
- action: debug msg='skip = ${skip}, task.rc = ${task.rc}'
- name: Now use task value
action: command echo 'Works !'
only_if: '${task.rc} == 0'
```
And the enclosed fix, fixes the above problem.
2012-11-13 16:57:10 +01:00
Michael DeHaan
44af1408ee
Merge pull request #1611 from dhozac/no-hostvars-templating
...
Keep hostvars from being templated
2012-11-13 05:20:48 -08:00
Michael DeHaan
6793bcbe4d
Merge pull request #1613 from dhozac/use-all-vars-for-hosts-template
...
Use all available vars for hosts:, user: and sudo_user:
2012-11-13 04:47:03 -08:00
Michael DeHaan
2303f65a1a
Merge pull request #1614 from dagwieers/missing-action-error
...
Print the task name (if any) when complaining
2012-11-13 04:46:41 -08:00
Dag Wieers
b96877e5aa
Print the task name (if any) when complaining
...
After spending 10 minutes to find which playbook had an action/local_action missing, I changed the error to include the task name (if set). The error eventually was caused because I added a name to a task, but the dash before the existing action was not removed.
2012-11-13 12:53:42 +01:00
Daniel Hokka Zakrisson
0be1f11ed5
Use all available vars for hosts:, user: and sudo_user:
2012-11-13 12:20:07 +01:00
Daniel Hokka Zakrisson
eebbbd3f0e
Make parameterized playbook includes work with vars as a list
...
Fixes #1610 .
2012-11-13 12:12:18 +01:00
Daniel Hokka Zakrisson
c200c26ced
Keep hostvars from being templated
2012-11-13 11:34:34 +01:00
Michael DeHaan
e3f7f86ac4
Merge pull request #1608 from dhozac/when_set-non-string
...
Try to ensure the entire value is quoted
2012-11-12 17:45:47 -08:00
Michael DeHaan
d5be13c3f0
Merge pull request #1605 from romeotheriault/add-md5-support-to-fetch-module
...
add bsd md5 support to fetch module
2012-11-12 17:45:07 -08:00
Daniel Hokka Zakrisson
0ca1775bda
Try to ensure the entire value is quoted
2012-11-13 02:40:29 +01:00
Daniel Hokka Zakrisson
25a8787e95
Template all variables before returning them to Jinja2
2012-11-13 02:39:33 +01:00
Daniel Hokka Zakrisson
d2dce1d63f
Make lookup plugin replacements part of the main variable logic
2012-11-13 02:18:05 +01:00
Daniel Hokka Zakrisson
a2bb3a09d2
Completely ignore stray $ in input
...
Previously, "a $ string $var" would not have gotten replaced at all.
2012-11-13 02:13:10 +01:00
Daniel Hokka Zakrisson
24b536d7ed
Add some comments to templating system
2012-11-13 02:13:04 +01:00
Romeo Theriault
4cd133ed8f
add bsd md5 support to fetch module
2012-11-12 10:37:00 -10:00
Daniel Hokka Zakrisson
233a36b9e8
Template using module_vars early
...
Since no basedir is available at that time, avoid invoking
lookup plugins since they assume it is present.
2012-11-12 16:53:24 +01:00
Michael DeHaan
c890ae18e7
Merge pull request #1575 from dhozac/parameterized-playbook-include
...
Add parameterized playbook includes
2012-11-12 05:17:38 -08:00
Michael DeHaan
3e855a5fcd
Merge pull request #1593 from dhozac/lookup_generic
...
Add support for generic $XXX() to call $LOOKUP()
2012-11-12 05:07:52 -08:00
Michael DeHaan
451f05fa3d
Merge pull request #1594 from sfromm/issue1342
...
Add ability to specify syslog facility for modules
2012-11-12 05:06:47 -08:00
Romeo Theriault
54b7f59416
remove verbose option on digest call
2012-11-11 19:43:40 -10:00
Stephen Fromm
06e54c0b97
Add ability to specify syslog facility for modules
...
Update constants.py so that one can specify environmental variable
ANSIBLE_SYSLOG_FACILITY or syslog_facility in ansible.cfg to define
the syslog facility to use. Alternatively, you can specify
ansible_syslog_facility in inventory. Runner now replaces
the syslog facility in the openlog() call with the default or
the injected variables ansible_syslog_facility.
This also updates hacking/test-module to behave similarly.
2012-11-11 00:14:08 -08:00
Daniel Hokka Zakrisson
9924555623
Add support for generic $XXX() to call $LOOKUP()
2012-11-10 23:46:37 +01:00
Michael DeHaan
40e49b6a5a
Merge pull request #1592 from jpmens/lookup_dnstxt3
...
$LOOKUP(dnstxt): handle exceptions
2012-11-10 08:52:30 -08:00
Jan-Piet Mens
bd55899a60
$LOOKUP(dnstxt): handle exceptions
...
de-spaced
2012-11-10 17:50:21 +01:00
Michael DeHaan
db3e8c0803
Merge pull request #1579 from jpmens/lookup_env
...
Add environment $LOOKUP plugin
2012-11-10 06:30:37 -08:00
Michael DeHaan
35679e0093
Merge pull request #1578 from jpmens/lookup_redis
...
Add Redis GET $LOOKUP plugin
2012-11-10 06:30:10 -08:00
Jan-Piet Mens
6efc98e8a3
Add environment $LOOKUP plugin
...
remove support for multiple vars
2012-11-10 08:26:09 +01:00
Jan-Piet Mens
e3e545418d
Add Redis GET $LOOKUP plugin
...
renamed
2012-11-10 08:21:48 +01:00
Jan-Piet Mens
e32f4a0564
Move get_docstring from module_formatter into ansible/utils
2012-11-09 17:15:41 +01:00
Daniel Hokka Zakrisson
9c095b72b9
Add parameterized playbook includes
...
Also makes with_* work with them.
Fixes #1162 .
2012-11-09 15:43:49 +01:00
Daniel Hokka Zakrisson
383dc30560
Rename varReplaceWithItems to template_ds
2012-11-09 15:43:29 +01:00
Michael DeHaan
325025a5b6
Merge pull request #1574 from dhozac/ssh-moar-data
...
Make sure we get all data
2012-11-09 05:08:27 -08:00
Michael DeHaan
fa17540a06
Merge pull request #1570 from skvidal/addhost
...
Addhost module
2012-11-09 04:51:15 -08:00
Daniel Hokka Zakrisson
e97a22603f
Make sure we get all data
2012-11-09 11:24:57 +01:00
Jan-Piet Mens
38d9dc8bff
Add DNS TXT record LOOKUP plugin
2012-11-09 11:06:49 +01:00
Seth Vidal
70d61fe7e8
need to use the variabled results
2012-11-09 00:16:17 -05:00
Seth Vidal
e147ad4213
add add_host action plugin - add hosts to inventory during a playbook
...
run - lets act on those hosts in the next play
2012-11-09 00:16:17 -05:00
Michael DeHaan
03591e0fc8
Merge pull request #1551 from dagwieers/local_action-fail
...
Turn 'fail' and 'debug' modules into action_plugins
2012-11-08 16:47:24 -08:00
Michael DeHaan
a31ca213a5
Merge pull request #1562 from dagwieers/oneline-fix
...
Make --oneline return one line (except with multiline output)
2012-11-08 16:45:33 -08:00
Michael DeHaan
03f4b0f923
Merge pull request #1560 from dagwieers/module-output-consistency
...
Make module output more consistent wrt. changed/failed
2012-11-08 16:45:05 -08:00
Michael DeHaan
3dc31a049f
Merge pull request #1527 from fdavis/devel
...
Support scp in an ssh connection
2012-11-08 16:42:37 -08:00
Dag Wieers
d42eb2563b
Make --oneline return one line (except with multiline output)
...
Currently the message prepared for --oneline mode adds a newline to the msg-string, which is then printed (adding another newline). This change removes the added newline so that successes and failures do not differ in output (except if the output is multiline).
2012-11-08 14:49:40 +01:00
Dag Wieers
fe0c70fe9d
Make module output more consistent wrt. changed/failed
...
- Make sure exit_json() always returns a changed= value
- Modify the yum module to not return failed=False
- Modify install() and latest() similar to remove() in yum module
- Changed exit_json(failed=True, **res) into a fail_json(**res)
- Make sure yum rc= value reflects loop (similar to how we fixed remove())
2012-11-08 12:28:18 +01:00
Dag Wieers
dd07011a65
Only print 'Invoked with' if there are arguments to the module
...
This closes #1519
2012-11-07 23:51:44 +01:00
Dag Wieers
d8459425a0
Turn 'fail' and 'debug' modules into action_plugins
...
This makes more sense as there is no purpose in running these remotely.
2012-11-07 23:34:53 +01:00
Daniel Hokka Zakrisson
47082a9171
Add $LOOKUP(<lookup plugin>,<data>) as a templating option
...
Also moves file and pipe to lookup_plugins.
2012-11-07 23:17:29 +01:00
Michael DeHaan
a1f7334634
Merge pull request #1525 from jhoekx/custom-filter-plugins
...
Support custom jinja2 filters.
2012-11-07 13:55:21 -08:00
Michael DeHaan
c9ae19c44c
Merge pull request #1547 from dagwieers/action-boolean
...
Bail out if an action is not a string
2012-11-07 13:52:07 -08:00
Dag Wieers
c9e62d7061
Fix for an exception when for whatever reason the inventory script fails
...
This avoids a traceback that gave no clue as to what was happening.
This is in line with the change from #1535
2012-11-07 15:16:00 +01:00
Dag Wieers
dfa1e8b0dc
Bail out if an action is not a string
...
Since YAML allows anything, we should enforce that actions are strings.
This closes #1419 .
2012-11-07 15:04:04 +01:00
Michael DeHaan
75d3b77454
Merge pull request #1535 from dagwieers/inventory-exception
...
Fix for an exception when for whatever reason the inventory script fails
2012-11-07 04:06:33 -08:00
Daniel Hokka Zakrisson
00aa584c57
Don't double dwim first_available_file in template
2012-11-06 20:34:05 +01:00
Dag Wieers
89206a6b68
Fix for an exception when for whatever reason the inventory script fails
...
This avoids a traceback that gave no clue as to what was happening.
2012-11-06 16:39:10 +01:00
fdavis
b1dbeec66c
Allows use of scp instead of sftp in
...
Added a boolean constant scp_if_ssh to the config
Added scp support for the ssh connection plugin
Refers to #1279
2012-11-05 14:25:40 -08:00
Jeroen Hoekx
8ffed6df75
Support custom jinja2 filters.
...
This uses the plugin framework to add filter plugins.
The previously hardcoded core filters are defined using the plugin
framework now.
2012-11-05 15:11:34 +01: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
Michael DeHaan
908c43ad7f
Merge branch 'devel' of git://github.com/skorokithakis/ansible into devel
2012-11-03 19:19:59 -04:00
Michael DeHaan
05de2152a0
Merge branch 'sudo_ask_pass_config' of git://github.com/bcoca/ansible into devel
2012-11-03 19:09:40 -04:00
Michael DeHaan
154a00e612
Merge branch 'plugin-sanity' of git://github.com/dhozac/ansible into try_new_plugins
2012-11-03 19:04:23 -04:00
Michael DeHaan
c96f2c968e
Merge branch 'nigelm_freebsd' of git://github.com/nigelm/ansible into merge-service
...
Make things more reusable, correct some errors along the SSH key path
Conflicts:
library/user
2012-11-03 18:38:05 -04:00
Seth Vidal
e19c81977d
if a module returns failed in the results, don't fail unless failed is not false.
2012-11-02 15:24:17 -04:00
Chandler Latour
f436a8c88b
Added config option for default ask for ssh_pass
2012-11-02 10:53:26 -05:00
Daniel Hokka Zakrisson
e05e514861
Create a plugin loader system
2012-11-02 01:24:14 +01:00
Daniel Hokka Zakrisson
000d3832cc
Make ansible.utils a package
2012-11-02 00:42:37 +01:00
Stavros Korokithakis
3616dffb68
Detect whether we're running in a virtualenv.
2012-11-02 01:42:04 +02:00
Michael DeHaan
4c156e4df8
Merge pull request #1502 from dhozac/improved-lookup-plugins
...
Improved lookup plugins
2012-11-01 16:36:03 -07:00
Michael DeHaan
025402c0bf
Merge pull request #1507 from lorin/pretty-print-msg
...
Pretty-print "msg" when task fails
2012-11-01 16:33:41 -07:00
Stavros Korokithakis
d9a377cbb1
Fix installing to virtualenvs.
2012-11-01 20:40:28 +02:00
Daniel Hokka Zakrisson
07ba7e2013
Return original string for non-matched vars
2012-11-01 18:53:23 +01:00
Lorin Hochstein
1c5ac5cac8
Pretty-print "msg" when task fails
...
Several modules (e.g., pip) return stdout and stderr together in a "msg" variable (and the module development docs seem to suggest that the standard practice is to return status in this variable).
This change ensures that it is printed out with correct formatting (most importantly, with newlines appearing as newlines instead of \n).
2012-11-01 13:23:18 -04:00
Daniel Hokka Zakrisson
fbda2d4628
Use default port if ansible_ssh_port is not set for the delegated node
...
Also add testcase for it.
2012-11-01 12:00:49 +01:00
Daniel Hokka Zakrisson
c519d5dac0
Add a template lookup plugin
...
Requires that inject be passed to run
2012-10-31 16:57:10 +01:00
Daniel Hokka Zakrisson
37d9acc097
Make lookup API extensible and allow basedir to be passed
...
This allows using with_fileglob in play context, e.g.
- include: $item
with_fileglob: tasks/*.yml
as well as prepares for other data to be passed.
2012-10-31 16:55:38 +01:00
Daniel Hokka Zakrisson
2c77cf1a49
Skip tasks with a with_* that is empty
2012-10-31 16:37:26 +01: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
Michael DeHaan
c0747b7baa
pep8 fixes
2012-10-30 20:42:07 -04:00
Michael DeHaan
0853ece810
Merge pull request #1474 from jhoekx/group-by-plugin-template
...
Add a group_by action plugin.
2012-10-30 16:54:07 -07:00
Michael DeHaan
f9a6265fb2
Merge branch 'vars_files-list-no-default' of git://github.com/dhozac/ansible into devel
2012-10-30 19:50:31 -04:00
Michael DeHaan
6dceef3a5f
Merge branch 'fix-var-in-var' of git://github.com/dhozac/ansible into devel
2012-10-30 19:48:32 -04:00
Daniel Hokka Zakrisson
efe83daf19
Fix ${var.$other_var} and add test cases for it
2012-10-30 13:05:45 +01:00
Michael DeHaan
9a12873166
Merge pull request #1477 from skvidal/devel
...
add check that vars plugins are not handing back None
2012-10-29 16:02:26 -07:00
Seth Vidal
3fcc591f18
add check that vars plugins are not handing back None
2012-10-29 12:11:57 -04:00
Dag Wieers
3728b2f459
Missing errors-import causes traceback
2012-10-29 15:16:26 +01:00
Jeroen Hoekx
b336d40101
Add a group_by action plugin.
2012-10-29 13:10:23 +01:00
Jeroen Hoekx
f963db6c2a
Fix output of pause plugin.
2012-10-29 10:57:13 +01:00
Jeroen Hoekx
77162e95e4
Send a host to runner executor instead of a letter.
...
Discovered in #1463 .
2012-10-29 09:45:44 +01:00
Daniel Hokka Zakrisson
e72fdccd87
Allow vars_files sequences without a default
2012-10-28 16:35:22 +01:00
Daniel Hokka Zakrisson
55a1473d50
Don't add file module arguments by default
...
This allows the postgresql_db module to work properly, as it uses
an argument named owner that conflicts with the file module.
2012-10-28 11:14:29 +01:00
Michael DeHaan
21258dcc66
Added 'when' as a shortcut around only_if.
2012-10-27 17:55:35 -04:00
Michael DeHaan
a768e9a9ff
Fix for sudo defaults if sudo is passed in via --extra-vars
2012-10-27 16:46:33 -04:00
Michael DeHaan
6ba30170dd
Make group_vars and host_vars available to usr/bin/ansible, and make vars_plugins exist
2012-10-26 19:55:59 -04:00
Michael DeHaan
e04dab904a
Use previous proven multiprocessing logic as the simplification didn't have the same Ctrl-C handling and may
...
be subject to race issues, though still don't pass Runner to each. Still seems performant.
2012-10-26 18:11:38 -04:00
Daniel Hokka Zakrisson
1052dd9c8f
Initialize sftp variable to fix error on transferless session
2012-10-26 23:54:21 +02:00
Michael DeHaan
5e2c2564bc
Explicitly execute /bin/sh versus $SHELL because some folks have very incompatible/weird shells. We do not
...
execute modules through the shell, this is only for basic ops, so should be sufficient.
2012-10-25 23:00:07 -04:00
Michael DeHaan
ff787146d1
stray debug
2012-10-25 22:24:15 -04:00
Michael DeHaan
24416b9e49
Remove stray debug message
2012-10-25 22:19:50 -04:00
Michael DeHaan
3257c5b61f
Some caching improvements to paramiko which are still not yet fully leveraged
...
in playbook mode, since the Runner still closes abstract host connections completely
and does not have a LRU.
2012-10-25 22:09:54 -04:00
Michael DeHaan
4c83c274e0
Don't close paramiko SFTP multiple times in the same runner pass. Noticeable performance increase.
2012-10-25 21:49:28 -04:00
Michael DeHaan
8b50ad7e85
Fix for atomic_replace patch if file does not yet exist
2012-10-25 21:40:05 -04:00
Daniel Hokka Zakrisson
7a8009f979
When atomically replacing files, copy attributes
2012-10-25 21:40:05 -04:00
Michael DeHaan
19a5f86c2e
Merge pull request #1452 from dhozac/with_items-as-plugin
...
Make with_items a lookup plugin
2012-10-25 18:24:34 -07:00
Michael DeHaan
9a141160a4
Merge pull request #1449 from dhozac/localhost-interpreters
...
Use the delegated host's interpreters
2012-10-25 18:19:26 -07:00