Commit graph

2291 commits

Author SHA1 Message Date
James Tanner
d6b78e9dd6 Fixes #5238 Improve error messaging about unquoted variable references in playbooks 2014-01-06 16:47:19 -05:00
James Tanner
ab51bd23a2 Fixes #5196 return a unique list of hostnames for a single host pattern 2014-01-06 14:19:20 -05:00
smoothify
93a55e8dff Don't override sudo if transport is set to local.
https://github.com/ansible/ansible/pull/5251
2014-01-04 23:32:25 +00:00
Michael DeHaan
c039e276a2 Fact gathering on a second play against the same hosts should not be implicitly off since this is an undocumented beheavior and potentially
rather unwanted when a play could change a fact.

gather_facts: True/False can still be explicitly used per play.

Reverts 564a212b3c
2014-01-04 14:03:58 -05:00
Michael DeHaan
87258f6d42 Resolve merge commit 2014-01-04 14:03:42 -05:00
Michael DeHaan
1c632af2c9 Merge pull request #5468 from jeromew/ansible_ssh_alt
fix issue #5372 on ssh_alt: accept -K option for a user with NOPASSWD
2014-01-04 10:55:58 -08:00
Michael DeHaan
a3d90e8a87 Merge pull request #5498 from j2sol/exit_setup_early
Return early from setup step when possible
2014-01-04 10:47:35 -08:00
Michael DeHaan
227e8e31c9 Merge branch 'use_comps' of git://github.com/j2sol/ansible into devel 2014-01-04 13:36:40 -05:00
Michael DeHaan
10350d1639 Update various copyrights. Not complete, but sufficient. 2014-01-04 13:32:04 -05:00
Jesse Keating
23720ff19d Use list comprehensions for efficiency
For loops can be inefficient, particularly when doing a dot command with
them. https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Loops and
https://wiki.python.org/moin/PythonSpeed/PerformanceTips#Avoiding_dots...

This patch makes use of list comprehensions to be as efficient as
possible while still retaining order. Efficiency was lost a bit when
switching away from sets() but this gains some of it back.
2014-01-03 18:07:00 -08:00
Jesse Keating
35328ed503 Return early from setup step when possible
The _list_available_hosts call can be lengthy, and in the case where
gather_facts is disabled the call is pointless. So re-arrange the logic
to return early from _do_setup_step when gather_facts is false.
2014-01-03 16:39:13 -08:00
Michael DeHaan
c41a23a35a Complete removal/refactoring of conditional deprecations. 2014-01-03 19:23:19 -05:00
Michael DeHaan
8e5b7d3095 Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release. 2014-01-03 19:13:21 -05:00
Michael DeHaan
28b9fd4e30 We have had only_if, when_foo, etc, deprecated for a while and said they would be removed in 1.5. Now they are, with friendly error messages still.
Users of these features should use "when:" as documented at docs.ansible.com.

Similarly, include + with_items has been removed.  The solution is to loop
inside the task files, see with_nested / with_together, etc.
2014-01-03 13:47:54 -05:00
James Tanner
21fdb2bbc7 Fixes #5200 Handle template contents with unicode strings better 2014-01-03 11:18:20 -05:00
James Tanner
fc473b3246 Fixes #5146 Handle missing stdin when running under celery with rabbitmq or redis 2014-01-03 09:46:16 -05:00
Michael DeHaan
de2ffc1276 Don't need to document these guys. 2014-01-02 17:55:59 -05:00
James Tanner
cb2214d6f8 Fixes #4935 Synchronize module: set destination to an fqdn if connection is not local, and abide by ansible_remote_user 2014-01-02 14:58:12 -05:00
jctanner
99560e3902 Merge pull request #5047 from sergevanginderachter/synch_template_ansiblesshhost
synchronize: allow ansible_ssh_host to be templated
2014-01-02 09:05:14 -08:00
jeromew
b2cd4a62de fix issue #5372 on ssh_alt: accept -K option even for a user with NOPASSWD 2013-12-31 14:29:46 -05:00
Deon Bredenhann
c85aac8b17 Treat a False mandatory variable as defined. 2013-12-31 13:41:40 +02:00
Deon Bredenhann
4f1f13b100 Remove trailing space 2013-12-31 13:40:21 +02:00
Levi Gross
dc6a26123b
Fixed syntax error and removed unused imports 2013-12-25 11:04:47 -05:00
Michael DeHaan
643690ffec Remove depedency of lookup plugin on setting in ansible.cfg 2013-12-21 08:49:08 -05:00
Michael DeHaan
5b3c796641 Update constants.py
Lookup plugins for optional web services do not warrant advertising in ansible.cfg.
2013-12-21 08:46:11 -05:00
Stephen Fromm
833e1f6e2a Make sure action plugin copy cleans up tmp dir
The copy action plugin creates its own tmp dir for each file that it
copies to the target machine.  However, it does not clean up the
original tmp path it was given when run() is called.  This cleans up the
tmp path before it begins looping on source files.
2013-12-20 14:58:34 -08:00
James Tanner
993e0f057e Allow for no role dependencies in role metadata 2013-12-19 14:19:14 -05:00
James Tanner
1ef9930b80 Addresses #5341 Expand home directories when searching for roles in ansible-playbook 2013-12-18 23:31:03 -05:00
James Tanner
5d022182fe Fixes #5341 Use constants.py to set the roles directory 2013-12-18 22:40:58 -05:00
John Barker
4bf9f714d0 Fix inventory parsing so that FQDN can be parsed without throwing ssh
port parsing errors
Fixes problesm introduced by 948d019fef
Adds testcases to defend
2013-12-18 21:33:05 +00:00
jctanner
ea8cd62b19 Merge pull request #5259 from mvo5/bugfix/improve-error-on-invalid-vars-file
improve error on invalid vars file (if its a list instead of a dict)
2013-12-17 11:12:53 -08:00
jeromew
e4a3f49fa2 ssh_alt - only trigger 'fatal' when returncode == 255 (interpreted as 'could no connect') 2013-12-17 11:42:00 -05:00
willthames
12005a1cd0 Move more responsibility to common EC2 module
Moved `AWS_REGIONS` into `ec2` module
Created `ec2_connect` method in `ec2` module
Updated modules able to use `ec2_connect` and `AWS_REGIONS`
2013-12-17 14:07:24 +10:00
jctanner
cd3144af5d Merge pull request #5178 from cavassin/devel
Prevents UnicodeEncodeError
2013-12-16 13:23:16 -08:00
James Tanner
f3a4705a9c Revert "Merge pull request #4874 from leth/editable_install"
This reverts commit 15b89b45e1, reversing
changes made to 3d836a1ab7.
2013-12-16 15:57:03 -05:00
jctanner
15b89b45e1 Merge pull request #4874 from leth/editable_install
Fix setup.py to work with 'pip install -e .'
2013-12-16 11:22:45 -08:00
Sébastien Bocahu
c8d5846ab9 Let merge hash_bahaviour work with dynamic inventory 2013-12-16 19:55:20 +01:00
jctanner
3d836a1ab7 Merge pull request #5247 from jeromew/ansible_ssh_alt
ssh_alt.py / decrease # of ssh roundtrips
2013-12-16 07:08:35 -08:00
jeromew
5c965a75f0 ssh_alt.py / decrease # of ssh roundtrips 2013-12-13 14:23:40 -05:00
jctanner
1679d83637 Merge pull request #5131 from janeznemanic/devel
Fix for issue #4730 - stacktrace when deferenencing a non-existent group
2013-12-13 11:00:41 -08:00
jctanner
301a1189dd Merge pull request #5122 from willthames/openlog_str
Make first argument to syslog.openlog be a string
2013-12-13 08:51:48 -08:00
Ferenc Grecu
56642f9b04 Remove unused parameter from _get_config 2013-12-12 18:48:02 +02:00
Michael Vogt
bef5ee2c3b improve error on invalid vars file (if its a list instead of a dict) 2013-12-12 09:56:30 +01:00
Jesse Keating
8cef210aea Make sure ssh pipes are empty before moving on
Resolves issue #5082

Code as it was would hit a scenario where one of the FDs was not ready for
reading the first time through -- but p.poll() would show the process as
complete. This would cause ansible to continue on, while leaving some content
left in a pipe.

The other scenario -- the one that causes the unclosed quote, is if we go
through select.select() and we do get stdout in the ready for reading -- we
read from it (9000 bytes), but that's not all that is there. Again we'd get to
the p.poll() check and it would be indeed not none, but we would have left some
of stdout on the FD and thus the json blob would be malformed.

Tested with and without full ssh debugging.
Tested with and without ControlPersist
Tested with and without ControlPersist sockets already created
2013-12-11 21:32:37 -08:00
Michael DeHaan
929f8a5c93 Had to revert commits due to async. 2013-12-10 19:24:08 -05:00
Michael DeHaan
74e4ccb59b Revert "ssh_alt.py / decrease # of ssh roundtrips"
This reverts commit 7f8863f96d.
2013-12-10 19:23:52 -05:00
jeromew
7f8863f96d ssh_alt.py / decrease # of ssh roundtrips 2013-12-10 06:00:21 -05:00
jeromew
db182ba498 copy ssh.py to ssh_alt.py 2013-12-09 14:11:29 -05:00
Steve Smith
5b81f88c8f Cast the retrieved retries var to an int before incrementing as it may be in string form.
For example, the following method of calculating the value will result in a type error:

    appstatus_waitfor: 4  # Minutes
    appstatus_delay: 5 # seconds
    appstatus_retries: "{{ mins * 60 / delay }}"
2013-12-07 10:35:14 +01:00
Wanderlei Antonio Cavassin
6ba93817a9 Avoid UnicodeDecodeError exception when passing module args 2013-12-06 12:59:43 -02:00
James Tanner
bf78d8cf73 Addresses #5090 setup module was using path.is_file instead of path.isfile 2013-12-05 11:36:54 -05:00
cavassin
10f5af82f9 Prevent UnicodeEncodeError
Prevents UnicodeEncodeError: 'ascii' codec can't encode character, while printing shell commands output
2013-12-05 13:17:57 -02:00
jctanner
7aa35d64c2 Merge pull request #5091 from EspadaV8/5089_assemble_fix
#5089 hack-fix assemble module
2013-12-04 10:13:16 -08:00
Michael DeHaan
801ca96a8b Merge pull request #5152 from sivel/too-many-ps
The word skipped only has 2 p's not 3
2013-12-03 16:21:11 -08:00
Matt Martz
5f0f3566a6 Skipped only has 2 p's not 3 2013-12-03 15:42:34 -06:00
Matt Martz
8873c3675b Ensure we are looking for the right import to determine if the module_style is new. Fixes #5148 2013-12-03 15:36:33 -06:00
jctanner
2670529671 Merge pull request #5090 from dragon3/hostname_support_amazon_linux
hostname module: add support for Amazon Linux
2013-12-03 12:34:55 -08:00
James Tanner
d227614529 Fixes #5109 synchronize module ssh port
Added a parameter for dest_port and also check ansible_ssh_port inventory variable.
2013-12-03 14:48:20 -05:00
jctanner
93159cb9cd Merge pull request #4996 from sivel/rax-module-utils
Implement ansible.module_utils.rax
2013-12-02 11:55:59 -08:00
Janez Nemanic
8752ae6909 Fix for issue #4730 - stacktrace when deferenencing a non-existent group 2013-12-02 18:25:43 +01:00
Will Thames
76aca4d547 Make first argument to syslog.openlog be a string
syslog.openlog expects its first argument to be a string.
Without this change running under ipython fails.
2013-12-02 19:11:27 +10:00
James Cammarata
9101c2af98 Fix traceback in template error detection code
Fixes #5081
2013-11-29 08:47:54 -06:00
Andrew Smith
eed32ea70c dest_contents isn’t always defined, so don’t pass it around
I think this is also a bit of a hack since it should probably be set
before being used, I’m just not sure what it should be set to.
2013-11-28 10:59:51 +10:00
Andrew Smith
e2d03173d2 The file module doesn’t have it’s module_args reset
I believe that this should be reset in the same way that the copy module
does
2013-11-28 10:58:14 +10:00
Andrew Smith
7b01c83159 Passing in complex_args throws ‘unsupported parameter for module’ errors
When using assemble only params (e.g. remote_src) the copy (and I’m
guessing file) modules throw an error that the param isn’t supported.
Simply removing the complex_args param fixes it for me, but I’m not sure
that’s the correct thing to do
2013-11-28 10:55:35 +10:00
Andrew Smith
da44a7f0cb I think that resultant is meant to be the contents of the combined file
It is used for the transfer and as a diff param but isn’t actually
defined anywhere before it’s used. This seemed like the least bad place
to set it.
2013-11-28 10:53:00 +10:00
Andrew Smith
4503413baa ReturnData is used throughout but not actually imported 2013-11-28 10:51:04 +10:00
dragon3
d39e6fda92 hostname module: add support for Amazon Linux 2013-11-28 09:31:25 +09:00
Andrew Smith
7d007cac16 Correct the invocation of ‘_assemble_from_fragments’ 2013-11-28 09:44:14 +10:00
jctanner
920bc6e75b Merge pull request #5086 from j2sol/fix-accelerate_inventory
Avoid a traceback when using accelerate
2013-11-27 14:46:12 -08:00
James Tanner
b6879ca2bd Fixes #5030 compare connection user and sudo user and disable sudo if identical 2013-11-27 17:01:53 -05:00
Jesse Keating
5522d489e3 Avoid a traceback when using accelerate
This bit of code is attempting to access accelerate_inventory_host,
which may not have been set/created. This will cause a traceback.
Instead use getattr with a fallback to False.
2013-11-27 13:58:11 -08:00
James Tanner
12ed39ef7b Fixes #5056 Append new hosts to the groups cache 2013-11-27 13:04:31 -05:00
James Cammarata
1f80aa768a Fix bug in error detection code, where a zero-length string was causing a traceback
Fixes #5064
2013-11-27 11:57:15 -06:00
Brian Coca
65885feeeb fixed typo for assemble function 2013-11-26 08:30:28 -05:00
James Tanner
b8146e3bc7 Fixes #4979 Check for the correct context when inside the inventory_hostnames plugin 2013-11-25 10:57:10 -05:00
James Tanner
903c4cae7b Fixes #5031 Template the delay value and cast to float for loops 2013-11-25 10:13:55 -05:00
Serge van Ginderachter
2f9470ec1d synchronize: allow ansible_ssh_host to be templated
This is already enabled in the runner also.
2013-11-25 15:33:04 +01:00
Antonio Zanardo
8dbd91b5ad fix typo in deprecation warning 2013-11-23 19:15:51 -02:00
James Tanner
bca2634d54 Fix missing eval for string search in ssh controlpersist 2013-11-22 12:22:53 -05:00
James Tanner
a16fe923ed Addresses #5011 check for proper string in smartos ssh error output 2013-11-22 12:13:24 -05:00
jctanner
5c84d7e445 Merge pull request #5002 from ovcharenko/devel
Allow to specify ansible_ssh_private_key_file location related to user home directory
2013-11-22 06:39:07 -08:00
James Tanner
512ebdb971 Revert "Merge pull request #5001 from ovcharenko/devel"
This reverts commit d6c3103a00, reversing
changes made to b11f96eaa4.
2013-11-22 00:09:37 -05:00
Aleksey Ovcharenko
9af44b1b42 Update to 4 space indent 2013-11-22 04:20:14 +02:00
Aleksey Ovcharenko
30678e04ac Make tests happy 2013-11-22 04:06:10 +02:00
Aleksey Ovcharenko
2222f6df58 Allow to specify ansible_ssh_private_key_file location related to user home directory 2013-11-22 01:47:03 +02:00
Matt Martz
3f2cbb7583 Add ansible.module_utils.rax 2013-11-21 15:46:25 -06:00
James Tanner
9b991b9154 Version bump for 1.5 2013-11-21 16:33:23 -05:00
Jan-Piet Mens
252a51be91 New lookup plugin csvreader 2013-11-21 09:39:52 +01:00
James Tanner
b815a09529 Fix pep8 error in password lookup 2013-11-19 16:36:18 -05:00
James Tanner
e81c976636 Fix pep8 errors in unarchive module 2013-11-19 16:35:06 -05:00
jctanner
68afd9da9f Merge pull request #4866 from sergevanginderachter/known_hosts_sudo
Check real user's known_hosts when sudo ansible...
2013-11-19 12:13:24 -08:00
Brian Coca
34c33f7ea1 now correctly spell symmetric
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-11-19 14:48:11 -05:00
Brian Coca
460bbfaec1 added union filter
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-11-19 14:40:55 -05:00
Brian Coca
afe30a6633 added difference and symetric difference filters
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-11-19 00:06:38 -05:00
Michael DeHaan
fc909b453f Make the legacy template detection system not hit a false positive when
replacing a \$ with $.
2013-11-18 17:51:57 -05:00
jctanner
93223510af Merge pull request #4936 from stoned/group-get_hosts-perf2
Improve Group.get_hosts() performance.
2013-11-18 14:13:08 -08:00
Matt Haggard
389602b8dd Merge pull request #4920 from iffy/ansible
Collect all stdout over ssh transport before returning data
2013-11-18 15:09:21 -05:00
Michael DeHaan
f18acee779 Merge pull request #4937 from skyl/synchronize-keyerror
KeyError: 'delegate_to' lookup in sync module needs to be checked to see if defined for ad hoc
2013-11-18 11:40:27 -08:00
James Tanner
e8b54dd073 Fixes #4852 properly evaluate log_path writability 2013-11-18 10:40:49 -05:00