Commit graph

2774 commits

Author SHA1 Message Date
James Cammarata
460794d697 Merge pull request #7140 from jimi-c/issue_6962_traceback_callbacks_unicode
Fix handling of non-JSON lines in responses
2014-04-23 19:53:42 -05:00
Matt Martz
eb8759176f Allow sudo to another user from root 2014-04-23 16:14:48 -05:00
James Cammarata
5e598c5337 Fix handling of non-JSON lines in responses
Garbage lines with ' = ' in them were causing parsing errors,
where key=val lines should not have spaces around the equals.

Fixes #6962
2014-04-23 15:17:31 -05:00
James Cammarata
38b49476f8 Merge branch 'raw-script-su-support' of https://github.com/sivel/ansible into sivel-raw-script-su-support 2014-04-23 10:02:13 -05:00
James Cammarata
93b5769d94 Hide YAML content on syntax errors when a vault password is specified
Fixes #6601
2014-04-23 09:23:07 -05:00
Michael Scherer
0f0f5ff1ce Give more information when a task is empty
I made a typo in a playbook and was great by:

    ERROR: expecting dict; got: None

The issue was a single - on the last line of a playbook.
With the name of the file, I was able to see right away where the
error was.
2014-04-23 13:13:46 +02:00
James Cammarata
e83a494e41 Make sure VARS_CACHE for hosts are updated with the play vars too
Fixes #6979
2014-04-22 14:42:43 -05:00
James Cammarata
a6068b09ac Fix collision in random filter name by merging functionality
Merges the functionality of the original jinja2 random filter with
the one we provide.

Fixes #7113
2014-04-22 14:21:00 -05:00
James Cammarata
c115c34a1f Set the default LANG to en_US.UTF-8 and also set LC_CTYPE
Fixes #6737
2014-04-22 00:48:32 -05:00
Brian Coca
c3e559b914 should now work with versions older than 8.4 2014-04-21 21:00:58 -04:00
faust64
78b9a11ccf Update facts.py
Fixes #7093 --devel
2014-04-21 19:44:47 +02:00
James Cammarata
68c30548e0 Properly catch and decode unicode strings in module _log_invocation()
Fixes #7084
2014-04-21 11:33:23 -05:00
James Cammarata
4f673b9497 Merge pull request #7083 from mscherer/better_message_multiple_action
Improve error message when multiple action are given
2014-04-21 10:53:55 -05:00
James Cammarata
39c6141b4a Merge pull request #7082 from bcoca/freebsd_mtu_fix
fixed issue with FreeBSD network facts
2014-04-21 10:53:22 -05:00
James Cammarata
086b877719 Merge pull request #7079 from mscherer/fix_error_whitespace_in_config
Clean a bit more the ssh_args configuration
2014-04-21 10:43:31 -05:00
James Cammarata
54f86099e4 Merge pull request #7078 from mscherer/fix_error_message_controlpersist
Enhance error message about missing ControlPersist
2014-04-21 10:41:58 -05:00
Michael Scherer
1e34e95ba0 Improve error message when multiple action are given
This can be illustrated using this playbook:

    - command: id
      delegate_to: "{{ remote_server }}"
      user: "{{ remote_user }}"

The error is to use 'user' instead of 'remote_user', but the error message
do not really mention it, so it can be a bit hard to spot.
2014-04-20 20:32:33 +02:00
Brian Coca
e5f297697a ifconfig changed on FreeBSD, tested this on 8,9 and 10 latest stable
versions and it now works
2014-04-19 22:03:30 -04:00
Brian Coca
bc23926f42 fixed ETIME issue on FreeBSD 8 through 10, which broke all fact
gathering
2014-04-19 21:42:56 -04:00
Michael Scherer
c87afc1109 Clean a bit more the ssh_args configuration
If someone add ssh_args = " " to his .ansible.cfg, it will result into
strange failure later :

    <server.example.org> ESTABLISH CONNECTION FOR USER: misc
    <server.example.org> REMOTE_MODULE ping
    <server.example.org> EXEC ['ssh', '-C', '-tt', '-q', ' ', '-o', 'KbdInteractiveAuthentication=no',
    '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o', 'PasswordAuthentication=no',
    '-o', 'ConnectTimeout=10', 'server.example.org', "/bin/sh -c 'mkdir -p /tmp/ansible-tmp-1397947711.21-5932460998838
    && chmod a+rx /tmp/ansible-tmp-1397947711.21-5932460998838 && echo /tmp/ansible-tmp-1397947711.21-5932460998838'"]
    server.example.org | FAILED => SSH encountered an unknown error during the connection. We recommend you re-run the
    command using -vvvv, which will enable SSH debugging output to help diagnose the issue

The root cause is the empty string between -q and -o, who kinda break mkdir.
2014-04-20 00:47:00 +02:00
Michael Scherer
3a09c99811 Enhance error message about missing ControlPersist
ansible_ssh_args is good for playbook, but in the ~/.ansible.cfg
file, it should be ssh_args in a specific section.
2014-04-20 00:35:10 +02:00
James Cammarata
ae29e43f93 Merge branch 'issue_7009_nfs_selinux' into devel 2014-04-18 22:21:03 -05:00
James Cammarata
a32dd34359 Make sure HostVars object is instantiated before assigning it
Fixes #7006
2014-04-18 16:23:01 -05:00
Jim Kleckner
46ec238613 Fix #7057 missing False default for vars_prompt
The test for default should be "is not None" since a boolean value of
False is a valid value.

See discussion at:
  https://groups.google.com/forum/#!topic/ansible-project/oc1_zE-FnyI
2014-04-18 12:04:11 -07:00
James Cammarata
75e0b7a5cf Make sure umask is set restrictively before creating any vault files 2014-04-18 13:38:59 -05:00
James Cammarata
3715482d7c Determine selinux context for NFS mount points correctly
Fixes #7009
2014-04-18 09:39:58 -05:00
Sébastien Gross
22d6572270 Honor ansible_private_key_file for delegated hosts
If a delegated host is not found in the inventory specified
private_key_file for primary host was not used.

This allows running playbooks without having to define any inventory at
all and to use the same ssh private key for both primary host and
delegated one.
2014-04-18 01:48:02 +02:00
Wim
6ed4ca97a8 hint to install python-ssl on redhat systems 2014-04-18 00:07:07 +02:00
smoothify
48bf7a000d Try to pass in item to on_skippped callback. 2014-04-16 15:40:07 +01:00
James Cammarata
d240d073eb Changing SSL cert detection method to allow for auto-negotiation of SSL protocols
Fixes #6904
2014-04-15 13:45:21 -05:00
James Cammarata
23c5f4524d Make sure args in run_command are encoded for shlex.split calls on py2.6 2014-04-15 13:04:41 -04:00
James Cammarata
d494a163f9 Merge pull request #6900 from jimi-c/issue_6891_cifs_mount_hang
Add a timeout decorator for timing out functions that may hang
2014-04-15 11:21:29 -05:00
James Cammarata
ba1a6c2e11 Removing .orig file merged in accidentally 2014-04-15 10:58:53 -05:00
James Tanner
aad128bac7 Use combined cache for templating module vars
Fixes #6901
2014-04-15 10:56:48 -05:00
James Cammarata
40b958e348 Don't turn complex args back into a k=v string for the synchronize module
Fixes #6951
2014-04-14 16:35:16 -05:00
James Cammarata
2cc4ac2e75 Catch traceback caused by permissions errors during a local md5 sum
Fixes #6948
2014-04-14 12:41:21 -05:00
jctanner
bfb25f4f89 Merge pull request #6917 from bcoca/random_filter_clean
simple random filter
2014-04-10 15:15:05 -04:00
jctanner
af99abc81c Merge pull request #6913 from willthames/aws_module_doc_fragments
Use common module document fragments for AWS modules
2014-04-10 14:58:14 -04:00
James Tanner
4eb626825b Refactor play._update_vars_files_for_host to make common functions and easier debugging
Fixes #4883
2014-04-10 13:43:59 -04:00
Brian Coca
80cd217eb7 simple random filter 2014-04-09 09:03:38 -04:00
willthames
509561f658 Moved AWS modules over to common module fragments
Created common module doc fragment, and applied to all
modules that use ec2_connect or connect_to_aws as
they definitely share the common doc fragments
2014-04-09 21:19:12 +10:00
James Cammarata
5ce6c86595 Merge branch 'sudo_pass_typo' of https://github.com/tyll/ansible into tyll-sudo_pass_typo 2014-04-08 14:52:42 -05:00
James Cammarata
eebc72ab9b Add a timeout decorator for timing out functions that may hang
Fixes #6891
2014-04-08 13:21:42 -05:00
James Tanner
2d33cd1b5d Fixes #6894 add missing file and remove debug line 2014-04-08 13:22:23 -04:00
James Tanner
68cd7258b6 Fixes #6894 create docs fragment for files 2014-04-08 13:20:15 -04:00
James Tanner
318e752b6f Fixes #6845 evaluate changed_when only if task is not skipped 2014-04-07 10:51:04 -04:00
Michael DeHaan
ccdd91f9c2 Merge pull request #6861 from ericlake/devel
add distribution_major_version to fact gathering
2014-04-05 15:12:40 -04:00
James Tanner
5a65dc3b6a Fixes #6820 fix erroneous missing vault password error when using the template module 2014-04-04 13:06:35 -04:00
Eric Lake
7f9736198a add distribution_major_version to fact gathering 2014-04-04 11:41:20 -05:00
James Cammarata
82b24c162e Adding delimiter fixes to action_plugin + fixing local assembling with a delimiter
Also added a new integration test for assemble using local assembly
with a delimiter.
2014-04-03 16:32:35 -05:00
Michael DeHaan
2c7275e8a9 Merge pull request #6835 from sivel/version-compare-filter
Add version_compare filter
2014-04-03 17:07:05 -04:00
Michael DeHaan
0a574af270 Merge pull request #5555 from sivel/expose-playbook-to-callback
Expose the playbook to callback plugins
2014-04-03 17:01:28 -04:00
Michael DeHaan
1fa19e29e8 Use common file argument system previously implemented by @sivel for rax modules on the file modules as well (copy/file/template).
Application to other cloud providers would make very good sense.
2014-04-03 16:52:39 -04:00
Matt Martz
7b5f89ec7c Use PluginLoader for module docs fragments 2014-04-03 16:52:39 -04:00
Matt Martz
bb6f7a267a Add support for shared module documentation fragments 2014-04-03 16:52:39 -04:00
James Cammarata
ee0a0b492b Allow isprintable() util function to work with unicode
Fixes #6842
2014-04-03 15:29:51 -05:00
James Tanner
cdc0819939 Fixes #6088 turn off sudo and su if the connection is local the sudo user matches the current user 2014-04-03 12:02:51 -04:00
jctanner
2a9fcdd87c Merge pull request #6711 from j2sol/raw-unreachable
Treat 255 errors from raw as dark host
2014-04-03 11:16:54 -04:00
jctanner
f6db60cbce Merge pull request #6787 from tyll/pull_ssh_prompt
ssh: propagate prompt to _communicate()
2014-04-03 09:55:17 -04:00
Matt Martz
5770428e91 Add version_compare filter 2014-04-02 20:21:30 -05:00
James Cammarata
317c2f4bc0 Fixes to variable issues introduced by recent changes
Fixes #6801
Fixes #6832
2014-04-02 19:49:38 -05:00
Harlan Lieberman-Berg
876b8085aa Add directory_mode to common file parameters to prevent errors. 2014-04-02 17:41:39 -04:00
Michael DeHaan
904f331210 Merge pull request #6788 from tyll/pull_ssh_verbose_comments
ssh connection plugin: Make comments more verbose
2014-04-02 17:24:16 -04:00
James Cammarata
a6a4680e5c Fix variable naming issue in _load_tasks()
Fixes #6800
2014-04-02 16:13:22 -05:00
James Cammarata
6f34a6336f Differentiate decryption failures from empty data files in ansible-vault
Fixes #6822
2014-04-02 15:52:08 -05:00
James Cammarata
e2d86e4f43 Splitting SETUP_CACHE into two caches, one for host vars and one for setup facts 2014-04-01 16:23:33 -05:00
James Cammarata
a4df906fc9 Fixes to safe_eval 2014-04-01 16:23:22 -05:00
Till Maas
e6cb32f284 ssh connection plugin: Make comments more verbose
Explain _communicate() more.
2014-04-01 09:46:51 +02:00
Till Maas
1da69309e5 ssh connection plugin: Report missing sudo password
If no password is provided, sudo hangs at the prompt. Identify this and
report that the password is missing as an error.
2014-04-01 09:36:59 +02:00
Till Maas
2cae7472ad ssh: propagate prompt to _communicate()
_communicate() uses the prompt variable to detect wrong passwords early,
therefore it needs to be passed to it from exec_command().
2014-04-01 09:24:44 +02:00
James Cammarata
612a1a64f0 Apply extra vars after all other vars have been merged in a play
Fixes #6677
2014-03-31 15:31:10 -05:00
James Cammarata
b9c044b8c9 Making the exception caught during os.dup of stdin explicit
Related to f23bb34
2014-03-31 13:50:23 -05:00
James Cammarata
f23bb344aa Catch errors when duping stdin
Fixes #6657
2014-03-31 13:38:12 -05:00
James Cammarata
4f140be711 Merge branch 'devel' of https://github.com/Synforge/ansible into Synforge-devel 2014-03-31 13:04:56 -05:00
James Tanner
efba8b4771 Merge branch 'regexreplace' of git://github.com/jacobweber/ansible into jacobweber-regexreplace 2014-03-31 13:48:13 -04:00
James Tanner
2492c2714a Fixes #5307 set relative paths to the files dir for roles and the inventory dir for non-role tasks 2014-03-31 12:25:40 -04:00
Till Maas
b07113f358 ssh: Properly check for wrong su password 2014-03-31 15:51:12 +02:00
James Cammarata
b698f7a44b Add option to create host_key directory if it doesn't exist
Fixes #6731
2014-03-30 01:34:33 -05:00
Matt Martz
7e3dd1066c Allow raw and script to support su 2014-03-28 16:46:31 -05:00
Michael DeHaan
a6b25e8657 Allow type=list module arguments to accept integers and floats. 2014-03-28 11:19:49 -04:00
Michael DeHaan
9921f804f9 Merge pull request #6643 from herbygillot/fact-full-hostname
Add a fact providing the full hostname, without the domain portion
2014-03-27 17:09:34 -04:00
Cristian Ciupitu
96ff1444f0 Micro-optimization: replace s.find(x)==0 with s.startswith(x)
timeit shows a speedup of ~1.4x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-27 20:35:20 +02:00
Cristian Ciupitu
1eaf85b89f Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-27 20:35:20 +02:00
Paul Oyston
1942a69ed2 Added template call to _executor_internal to allow the passing of arbitrary data to modules. 2014-03-27 17:06:20 +00:00
Jesse Keating
3315ba0b99 Treat 255 errors from raw as dark host
Any other module is able to detect a dark host, but raw was treating 255
as a return code from the module execution, rather from the connection
attempt. This change allows 255 to be treated as a connection failure
when using the raw module.
2014-03-26 16:40:50 -07:00
James Cammarata
78bdb078fe Fix for bug related to async jid polling change plus a new test 2014-03-26 15:49:15 -05:00
James Tanner
88462729aa Addresses #6708 fill in missing keywords for ssh.py _communicate 2014-03-26 15:55:54 -04:00
jctanner
7dc3dc5279 Merge pull request #6708 from sivel/put-file-control-master
Share p.communicate alternative logic between exec_command and put_file
2014-03-26 15:02:14 -04:00
James Cammarata
e09313120c Make async jid's unique per host
The jid will now also contain the PID of the async_wrapper process,
and can each unique jid from each host is tracked rather than just
relying on one global jid per task.

Fixes #5582
2014-03-26 13:48:47 -05:00
James Tanner
38de8cc87e Addresses #6705 Only set the role_uuid inside the role vars 2014-03-26 14:43:07 -04:00
Matt Martz
b8cb23d309 Share p.communicate alternative logic between exec_command and put_file 2014-03-26 13:41:33 -05:00
James Tanner
8991e403e8 Fixes #6705 Give each role a unique uuid and apply tags only to tasks matching the uuid 2014-03-26 13:29:41 -04:00
James Cammarata
9ede6f7f49 Convert gather_facts to a boolean value if it is not None
Fixes #5618
2014-03-26 12:04:06 -05:00
James Tanner
2a976ac313 Fixes #5059 Ignore lookup failures when templating a task name 2014-03-26 11:28:43 -04:00
James Cammarata
7a3fa63db5 Fix for unicode environment variable handling
Fixes #5395
2014-03-25 20:45:04 -05:00
James Tanner
3194fbd365 Fixes #6655 catch unicode encoding errors before sending to syslog 2014-03-25 16:07:12 -04:00
jctanner
7b8d1c0ffd Merge pull request #6580 from ramondelafuente/fix-vault-editor-call
Changed call to EDITOR to allow for parameters
2014-03-25 15:48:59 -04:00
Ramon de la Fuente
c79c001bfb Changed call to EDITOR to allow for parameters
The EDITOR environment variable is used to create and edit files in the vault.
But if the EDITOR variable contains parameters, subprocess.call() breaks.

This fixes the EDITOR environment variable to be safely split into a list.
It adds a dependency on shlex.
2014-03-25 20:29:03 +01:00
James Cammarata
c9bf7eb9bb Don't run {failed|changed}_when checks until async_status is done
Fixes #5117
2014-03-25 14:18:47 -05:00
James Cammarata
4ea12c1b86 Make sure stat of dest is available in atomic_move
Fixes #6682
2014-03-25 14:03:21 -05:00