Marco Re
712f4a631c
Update ssh.py
...
Convert to string to fix runtime error due to string concat in self.common_args += ["-o", "User="+self.user] when ansible_ssh_user is numeric
2014-05-13 11:29:19 +02:00
Chris Church
d725636469
Correctly initialize combined_cache for hosts if setup is skipped
...
Fixes #7364
2014-05-12 13:48:11 -05:00
James Cammarata
38c2c60849
Do not base synchronize source on the inventory directory
...
Fixes #7366
2014-05-12 12:02:38 -05:00
James Cammarata
fd27afdc0d
Adding ansible_shell_type and basic environment construction on it
...
Previously we assumed the shell on the target systems were 'sh'-
compliant when formatting environment variables preceding command
strings. This patch corrects that by basing the target shell type
on the DEFAULT_EXECUTABLE setting, which can be overridden on a
per-host basis using the inventory variable 'ansible_shell_type'.
Fixes #7352
2014-05-09 16:29:56 -05:00
James Cammarata
9b9b4d50fe
Merge pull request #7058 from jkleckner/fix-vars_prompt-when-default-False
...
Fix #7057 missing False default for vars_prompt
2014-05-09 00:29:31 -05:00
James Cammarata
51ef28b0d2
Merge branch 'warn_wrong_sudo_password' of https://github.com/tyll/ansible into tyll-warn_wrong_sudo_password
2014-05-08 14:16:58 -05:00
James Cammarata
2e2e5d5321
Use the existing module_vars during the templating of module_vars
...
Since some of the vars contained in there may be used in the templating
of other variables. This also reverts e83a494
which originally fixed
issue #6979 but broke some other variable related things.
Fixes #6979
Fixes #7321
Fixes #7332
2014-05-08 13:09:36 -05:00
James Cammarata
77a47dbb2d
Merge pull request #7304 from jimi-c/issue_7296_synchronize_relative_path
...
Make sure dwim'd relative path ends in a "/" if the original does
2014-05-07 12:58:04 -05:00
James Cammarata
393124e462
Add pyc/pyo to ignore list for inventory directories
...
Fixes #7308
2014-05-07 09:59:13 -05:00
Brian Coca
8a84b22d76
bumped to 1.7
2014-05-06 23:43:07 -04:00
Chris Church
f9c74d6e57
Add integration tests for group_by module. Fixed bug introduced by ansible/ansible#7273 while also fixing issue described in ansible/ansible#6953
2014-05-06 22:30:37 -04:00
James Cammarata
4d118d1c72
Make sure dwim'd relative path ends in a "/" if the original does
...
Fixes #7296
2014-05-06 13:54:41 -05:00
James Cammarata
56d070afa8
Version bump for 1.7
2014-05-05 16:37:46 -05:00
James Cammarata
fd03cc04e6
Merge branch 'devel' of https://github.com/denisphillips/ansible into denisphillips-devel
2014-05-05 09:22:01 -05:00
Veeti Paananen
d6f4d9b76d
Fix error handling on missing dest with unarchive
...
fixes #7107
2014-05-04 18:22:00 +03:00
Denis Phillips
cd0134d290
Used module_args passed to function instead of from runner
2014-05-04 08:49:12 -04:00
Christian Berendt
6676720ce5
fixed typos found by RETF rules in PY files
...
rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos
2014-05-03 18:40:05 +02:00
James Cammarata
deb532c367
Remove OrderedDict references from runner
...
Fixes #7256
2014-05-02 12:52:36 -05:00
James Cammarata
54b1f820fb
Modify the way we set the localization environment
...
Previously, we set the LANG (and LC_CTYPE) environment variables
directly in the module code and applied them with os.environ().
Instead, we are now pre-pending those variables to the environment
string used to execute the command which allows the user to
override the localization values by setting the environment values
directly (even on a per-task basis):
- subversion: repo=file:///path/to/repos/svn_über dest=/tmp/svntest
environment:
LANG: "C"
LC_CTYPE: "en_US.UTF-8"
So if a user wishes to default their LANG back to C, they can still
avoid unicode issues by doing the above.
Fixes #7060
2014-05-01 10:34:53 -05:00
James Cammarata
40a7a306f5
Merge pull request #7236 from jcassee/robust-ssl-cert-concat
...
Make concatenating certs robust in urls.py
2014-04-30 15:48:13 -05:00
James Cammarata
8e45fa9b63
Moving display-related functions to new module in utils
2014-04-30 15:33:46 -05:00
Joost Cassee
978e6d2cd6
Make concatenating certs robust in urls.py
...
Add a newline after each certificate file explicitly to avoid problems
with files that do not end with a newline themselves.
2014-04-30 21:46:37 +02:00
James Cammarata
6069ff6e9e
Adding a new system_warnings config option to supress warnings
2014-04-30 14:44:10 -05:00
James Cammarata
30e4759055
Merge pull request #7208 from jf/copy-module
...
Fix "no_log=True" option for copy module (fixes #7193 )
2014-04-29 16:11:23 -05:00
James Cammarata
be4e6d359f
Merge branch 'delegate_to_honor_ssh_private_key_file' of https://github.com/renard/ansible into renard-delegate_to_honor_ssh_private_key_file
2014-04-29 15:05:09 -05:00
James Cammarata
4cadcccc48
Catch pycrypto warning about gmp and show a nice warning on stderr
2014-04-29 14:28:14 -05:00
Jeffrey 'jf' Lim
0bf1a27393
Fix "no_log=True" option for copy module ( fixes #7193 )
2014-04-30 02:24:16 +08:00
Jiri Barton
9da06274a8
Set proper file permisions when a file is created with atomic_move
...
Fixes #7196
2014-04-29 08:41:22 -05:00
Michael DeHaan
9a6998aa17
While this code is unused, this remote module copy of this function should not be carried around in the source code.
2014-04-29 08:12:11 -04:00
Logos01
424ee36e05
Enable facts module on older SuSE systems
...
Modified logic of distribution_release for SuSE to retain the last discovered key/value pair's value in /etc/SuSE-release that contains a '=' character.
2014-04-28 14:37:23 -07:00
James Cammarata
1576e8d611
Adding missing options to the file documentation fragment
2014-04-28 15:31:24 -05:00
Brian Coca
c5d5481ebb
added doc noting the change in behaviour
2014-04-27 09:37:44 -04:00
Cédric RICARD
b8b0865ec0
Missing 'base64' import
2014-04-25 00:11:27 +02:00
Michael DeHaan
ad04b455d3
add missing license header
2014-04-24 10:31:04 -04:00
James Cammarata
117952cf6c
Fixing a bug in the new fetch_url username/password logic
2014-04-24 00:44:39 -05:00
James Cammarata
b9d8b3b911
Merge pull request #7132 from jimi-c/issue_6601_hide_vault_yaml
...
Hide YAML content on syntax errors when a vault password is specified
2014-04-24 00:28:12 -05:00
James Cammarata
89fa9b7305
Add parameters to get_url for the url username/password
...
Fixes #6928
2014-04-24 00:26:50 -05:00
James Cammarata
e9d8f0639f
Merge pull request #7143 from sivel/ansible-sudo-from-root-fix
...
Allow sudo to another user from root with the ansible command
2014-04-23 21:11:39 -05:00
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
Aaron Iles
a5507275cb
Fix localhost tasks with complex executables
...
Enable the use of executable commands that use command line options with
the localhost command runner. These commands require parsing out the
base executable from the command string to pass to subprocess.
2014-04-14 22:15:39 +10: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
Serge van Ginderachter
d240e2b9fb
Introduce an ansible_version dict as runner variable
...
Given the version:
"1.6 (ansible_version_var 14499e8bf3
) last updated 2014/03/21 17:07:50 (GMT +200)"
We get the special variable:
"ansible_version": {
"full": "1.6",
"major": 1,
"minor": 6,
"revision": 0,
"string": "1.6 (ansible_version_var 14499e8bf3
) last updated 2014/03/21 17:07:50 (GMT +200)"
}
modified: lib/ansible/playbook/__init__.py
modified: lib/ansible/runner/__init__.py
modified: lib/ansible/utils/__init__.py
2014-04-08 17:14:42 +02:00
James Cammarata
9ca8c3262c
Switch module safe_eval to ast.literal_eval
2014-04-08 09:05:07 -05: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
Serge van Ginderachter
e36e2d38fe
InventoryDir: another fix for the host.groups list
...
In some cases, where a host is mentioned in multiple groups, and those
groups are referenced in multiple ini files, a group could still contain
multiple instances of a group in its host,groups list, where only one of them
is the right group, that exists in the inventory.
2014-04-04 09:27:44 +02: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
BoscoMW
39fcbd1f10
Update ssh.py
2014-04-02 15:57:54 +03:00
BoscoMW
165406cf35
Catch permissions errors related to opening a known_hosts file
...
Catch permissions errors related to opening a known_hosts file
2014-04-02 13:42:07 +03: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
Tim G
c307a73e28
Check for errors from adb, may not work on all systems.
2014-04-01 22:36:19 +10:00
Tim G
285d4f3fa6
If memory not available in syslog.log, catch error, attempt to find it with adb
2014-04-01 21:55:29 +10: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
GuiGui2
b9613665dd
Setup module: Additional facts when using ansible with Linux on System z
...
- Improved parsing of /proc/cpuinfo to take the specifics of Linux on
System z. ansible_processor and ansible_processor_cores are now
completed.
- Also improved virtualization facts in the same environment, parsing
the output of /usr/bin/lscpu to populate virtualization_type and
virtualization_role more precisely. If lscpu is not available, then
stick to the previous behavior.
2014-03-31 15:30: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
Serge van Ginderachter
b0ff1ea425
performance optimisation in hash merge logic
...
rewrite deepcopy in util.merge_hash and just iterate
on an inventory with 500 groups and 800 hosts this brings back the
inventory initialisation from 13s to 3s (with hash_behaviour=merge)
2014-03-26 11:37:31 +01:00
Serge van Ginderachter
d4634983f0
Move group/host_vars parsing into core inventory
...
modified: lib/ansible/inventory/__init__.py
deleted: lib/ansible/inventory/vars_plugins/group_vars.py
modified: lib/ansible/utils/__init__.py
2014-03-26 11:37:26 +01:00
James Cammarata
7a3fa63db5
Fix for unicode environment variable handling
...
Fixes #5395
2014-03-25 20:45:04 -05:00
Serge van Ginderachter
f8ea93c732
Move inventory.set_playbook_basedir from ansible-playbook to playbook constructor
2014-03-25 22:12:01 +01:00
Serge van Ginderachter
cc28fd891b
Introduce noop vars plugin.
...
In preparation to move the group_vars plugin code into core.
new file: lib/ansible/inventory/vars_plugins/noop.py
2014-03-25 22:12:01 +01:00
Serge van Ginderachter
f6a55a3552
Refactor vars_plugins (host/group_vars)
...
Split out parsing of vars files to per host and per group
parsing, instead of reparsing all groups for each host. This enhances
performance.
Extend vars_plugins' API with two new methods:
* get host variables: only parses host_vars
* get group variables: only parses group_vars for specific group
The initial run method is still used for backward compatibility.
Parse all vars_plugins at inventory initialisation, instead of
per host when touched first by runner. Here we can also loop through
all groups once easily, then parse them.
This also centralizes all parsing in the inventory constructor.
modified: bin/ansible
modified: bin/ansible-playbook
modified: lib/ansible/inventory/__init__.py
modified: lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-25 22:12:01 +01: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
James Tanner
f9018a6f1d
Ensure handlers run when meta tasks are defined and add handler integration tests
...
Fixes #6678
Fixes #6670
2014-03-25 13:33:52 -04:00
Michael DeHaan
3eecc039b9
Merge pull request #6656 from Jmainguy/setup
...
Added ansible_date_time.weekday as a fact. This returns Monday,Tuesday,W...
2014-03-25 13:32:57 -04:00
James Cammarata
8c7828d469
Tweaking error message resulting from undefined template variables
...
Fixes #5114
2014-03-25 11:56:55 -05:00
James Cammarata
846933dd53
Make inventory parsing error detection smarter
...
If something is executable but doesn't look like it should be, or if
something is NOT executable and DOES looks like it should, show a
more apropos error with a hint on correcting the problem
Fixes #5113
2014-03-25 11:41:00 -05:00
Michael DeHaan
a062912a1f
Merge pull request #6658 from pilou-/fix_fix
...
'changed' key is not defined when task fails
2014-03-25 11:49:18 -04:00
Michael DeHaan
9be732d8f2
Merge pull request #6679 from renard/fix-simplejson-module
...
Fix TypeError when using old simplejson lib.
2014-03-25 11:28:10 -04:00
Herby Gillot
94297950a0
Name platform.node() fact as "nodename"
2014-03-25 11:20:19 -04:00
James Tanner
ebd1f70c5d
Typo in setting task_errors variable
2014-03-25 10:35:05 -04:00
Sébastien Gross
ef6b437d0d
Fix TypeError when using old simplejson lib.
...
On some very old simplejson does not support the 'encoding' and give
following exception:
TypeError: __init__() got an unexpected keyword argument 'encoding'
This fix runs json.dump with no encoding key (such as before #a023cb) on
TypeError exception only.
2014-03-25 14:50:29 +01:00
Serge van Ginderachter
d3eaa1b79e
InventoryDir: refactor logic
...
Make sure all hosts and groups are unique objects
and that those are referenced uniquely everywhere.
Also fixes test_dir_inventory unit tests which were broken after previous
patches.
modified: lib/ansible/inventory/dir.py
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
188375171e
Inventory: raise error when adding a group that already exists.
...
The parsers check if a group already exists.
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
be58808fe4
inventory script parser: do not add all the groups to *all* group
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
0ceefbbf29
inventory ini parser: do not add all the groups to *all* group
...
but only those with lowest depth, so we keep a proper tree structure
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
cc8efb4aab
inventory groups: make sure group.depth is updated on all grandchildren
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
1c86909875
inventory group: add groups to parent_groups only once
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
36f55d3549
inventory directory parser: add host to group only once
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
8b215149d4
inventory directory parser: add groups to parent_groups non-recursively
2014-03-25 12:45:00 +01:00
Serge van Ginderachter
262ba0460a
inventory directory parser: add hosts to group non-recursively
2014-03-25 12:45:00 +01:00
James Tanner
605156c904
Fixes premature handler execution after adding force-handlers
2014-03-25 00:20:11 -04:00
James Cammarata
bc93732b1d
Catch permissions errors related to opening a known_hosts file in modules
...
Fixes #6644
2014-03-24 16:32:31 -05:00
James Cammarata
dc658eaa1c
Check to make sure the host is in the inventory vars cache before clearing it
...
Fixes #6660
2014-03-24 15:59:43 -05:00
James Cammarata
db345391e3
Fixing ownership when atomic_move is creating a file while sudo'ing
...
Fixes #6647
2014-03-24 15:10:43 -05:00
Pierre-Louis Bonicoli
c76501b8a3
'changed' key is not defined when task fails
...
fix KeyError introduced by fix of #6591 .
2014-03-24 19:31:52 +01:00
Jonathan Mainguy
b17b5ad85b
Added ansible_date_time.weekday as a fact. This returns Monday,Tuesday,Wednesday,Thursday,Friday,Saturday, or Sunday depending on the remote servers time. Useful for backups the way I use it
2014-03-24 13:43:00 -04:00
James Cammarata
bb723bedee
Merge branch 'atomic_move_restore_owner_group_rebase' of https://github.com/tyll/ansible into tyll-atomic_move_restore_owner_group_rebase
2014-03-24 09:34:51 -05:00
James Tanner
9169a11088
Fixes #4777 add --force-handlers option to run handlers even if tasks fail
2014-03-24 10:28:48 -04:00
Herby Gillot
c0886a5f3a
Add a fact providing the full hostname, without the domain portion
...
truncated.
2014-03-23 21:59:47 -04:00
Michael DeHaan
fba2f1f9a9
Merge pull request #6639 from fvieira/devel
...
Add missing sha1 import on known_hosts.py
2014-03-23 16:23:55 -04:00
Michael DeHaan
a24d3f78d9
Merge pull request #6634 from pilou-/fix
...
Remove print statements
2014-03-23 16:12:04 -04:00
James Cammarata
31628d86a1
Adding in a configurable option for the accelerate daemon timeout
...
This was apparently an oversite, as it has never been configurable
despite having a module parameter for the timeout.
2014-03-23 14:45:49 -05:00
James Cammarata
3ea5d573aa
Acclerate improvements
...
* Added capability to support multiple keys, so clients from different
machines can connect to a single daemon instance
* Any activity on the daemon will cause the timeout to extend, so that the
daemon must be idle for the full number of minutes before it will auto-
shutdown
* Various other small fixes to remove some redundancy
Fixes #5171
2014-03-23 14:45:49 -05:00
Francisco José Marques Vieira
e9d7476c28
Add missing sha1 import on known_hosts.py
2014-03-23 17:19:23 +00:00
Pierre-Louis Bonicoli
d3a470db0c
Remove print statements
...
"print item" raises an exception when type of item is
jinja2.runtime.StrictUndefined
2014-03-23 03:58:44 +01:00
James Tanner
5b3b9ba267
Addresses #4407 Caculate failed percentage based on serial and number of hosts in play
2014-03-21 13:31:47 -04:00
Michael DeHaan
d0cbb51170
Merge pull request #6615 from 8191/devel
...
Addresses #6591 Hide diff for lineinfile if file did not change.
2014-03-21 10:46:29 -04:00
Manuel Faux
b8158f5f6a
Addresses #6591 Hide diff for lineinfile if file did not change.
2014-03-21 08:40:38 +01:00
Joshua Conner
1c504eff68
etcd lookup: use $ANSIBLE_ETCD_URL if it exists in the env
2014-03-20 15:16:28 -07:00
James Tanner
14499e8bf3
Fixes #4325 allow async and poll parameters to be templated vars
2014-03-20 16:09:58 -04:00
James Tanner
ea5186ca63
Fixes #6590 add set_remote_user parameter to synchronize
...
This allows usage of custom ssh configs for remote hosts where
the inventory user does not match the configured user.
2014-03-20 13:56:07 -04:00
James Tanner
95c79ad483
Fixes #4239 merge injects with new vars loaded from files
2014-03-20 13:12:33 -04:00
James Tanner
d327e3d11a
Fixes #5622 included tasks in roles now inherit tags from the role
2014-03-20 11:56:13 -04:00
Till Maas
898a38b074
module_utils/atomic_move(): Use tempfile module
...
Fix a potential race condition by using the tempfile module.
2014-03-20 12:34:19 +01:00
Till Maas
8f778a83df
module_utils/atomic_move(): Restore owner/group
...
Manually restore owner and group if both src and dest are on a separate
file system.
2014-03-20 12:34:19 +01:00
Michael DeHaan
e639b5382b
Change default gathering policy, add to docs.
2014-03-19 18:03:03 -04:00
Brian Coca
18adf07fc6
changed setting values and updated docs
2014-03-19 18:03:03 -04:00
Brian Coca
4dfa40f18e
added gathering control to ansible, defaults to 'smart'
2014-03-19 18:03:03 -04:00
Michael DeHaan
c42dbf80a2
Merge pull request #6586 from sivel/probline-logic-fix
...
Fix logic in process_common_errors for unbalanced quotes
2014-03-19 17:45:49 -04:00
James Tanner
b8f627d1d5
Prevent rewriting the encrypted file if decryption fails
2014-03-19 16:31:03 -04:00
James Tanner
e71857fbdf
Addresses #6579 Only strip vault passwords if given
2014-03-19 16:08:35 -04:00
James Tanner
8c2e1e2baa
Addresses #6579 Disallow vault passwords with newline characters by stripping them in utils
2014-03-19 15:56:14 -04:00
James Cammarata
a9000e7f3a
Making the error messages for bad key/dir permissions more understandable
...
Fixes #6254
2014-03-19 14:09:03 -05:00
Matt Martz
2aaecc5afa
Fix logic in process_common_errors for unbalanced quotes
2014-03-19 13:49:31 -05:00
James Cammarata
4880cfb5ea
Merge pull request #6568 from sivel/ssl-cert-validation-osx
...
Make SSL verification on Mac OS X work out of the box
2014-03-19 13:45:45 -05:00
James Tanner
67517e96d3
Fixes #6567 put the git wrapper script in the module temp dir
2014-03-19 10:30:10 -04:00
Matt Martz
1d3d73a0b6
Only write the DUMMY_CA_CERT on OS X
2014-03-19 09:01:13 -05:00
Matt Martz
3b5aa8bd30
Provide a dummy ca to allow OS X to do it's OpenSSL keychain magic
2014-03-18 17:16:44 -05:00
James Cammarata
eb7717aa02
Make sure all tags are in a list before merging for role deps
...
Fixes #6557
2014-03-18 12:32:22 -05:00
James Cammarata
c9fcbf7bdd
Change print message to vvv for missing known hosts in ssh.py
2014-03-18 12:26:10 -05:00
James Tanner
49807877fa
Fixes #6550 Use shell for pipe lookup subprocess.popen calls
2014-03-18 12:21:26 -04:00
James Cammarata
3f5440f7df
Make modules set a valid working directory
...
Fixes #6546
2014-03-18 10:37:52 -05:00
James Cammarata
84908a57fc
Don't filter role deps on tags
...
Also, fixed a bug where the tags were being merged into the wrong
data structure (passed_vars) in _build_role_dependencies()
Fixes #6439
Fixes #5709
2014-03-17 23:03:16 -05:00
Michael DeHaan
9da26da335
Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel
2014-03-17 17:37:57 -04:00
Michael DeHaan
13f69dad05
Merge pull request #6527 from patrickheeney/hosts-bug
...
Fix for hostkey directory
2014-03-17 17:35:27 -04:00
Michael DeHaan
94e3350b38
Catch a unquoted line error. Fixes #6532
2014-03-17 17:15:42 -04:00
jctanner
b8d5ba42f5
Merge pull request #6523 from sergevanginderachter/vault-in-subdirs
...
Pass through vault_password when parsing host/group vars as directories.
2014-03-17 17:06:41 -04:00
James Cammarata
c4f1c3c6b0
Merge branch 'bcoca-file_fixes_clean' into devel
2014-03-17 16:02:33 -05:00
James Tanner
ad70e9bcd6
Fixes #6227 skip non-unicode strings and catch decode errors silently in template_from_string
2014-03-17 16:54:25 -04:00
James Tanner
20262b6c15
Remove unused variable in _executor_internal
2014-03-17 15:53:48 -04:00
James Cammarata
5d8c9d3f0f
Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean
2014-03-17 14:03:26 -05:00
James Cammarata
7edee91aba
Fixing a bug in role tag handling where only the first tag was used
...
Fixes #6517
2014-03-17 11:28:54 -05:00
James Tanner
ebb6b8442b
Catch unicode unescape failures in copy action plugin
2014-03-17 12:14:29 -04:00
patrickheeney
a9aab23f11
Fix for hostkey directory
2014-03-17 09:00:08 -07:00
James Tanner
b14c658532
Fix concatenation for with_file
2014-03-17 10:38:22 -04:00
Serge van Ginderachter
280498a7e5
Pass through vault_password when parsing host/group vars as directories.
...
Fixes a bug where vault_password parameter was not passed through in
_load_vars_from_folder()
modified: lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-17 10:51:04 +01:00
Greg Dallavalle
77229553a3
fetch_url: Avoid credential stripping for FTP-scheme URLs
2014-03-16 20:41:03 -05:00
Michael DeHaan
fe696e4720
Merge commit.
2014-03-16 17:08:26 -04:00
Michael DeHaan
b41541c62a
Merge conflict.
2014-03-16 16:48:03 -04:00
Michael DeHaan
fd0ff6f174
Merge pull request #5711 from sivel/plugin-realpath
...
Use realpath for plugin directories instead of abspath
2014-03-16 15:42:47 -05:00
Michael DeHaan
6144c5e1e2
Merge pull request #5714 from eggsby/patch-2
...
Allow templates in ansible_sudo_pass inventory var
2014-03-16 15:42:12 -05:00
Michael DeHaan
b0dbc61d63
Move facts to 'module_utils' so they can be referenced by other modules. Note unlike other module_utils/ dirs this keeps the original
...
license -- so usage of facts code in modules will be limited to GPLv3 modules.
2014-03-16 16:12:02 -04:00
Michael DeHaan
b8f1e4f765
Merge pull request #6134 from veeti/include_with_items_path
...
Show the offending file name with the include + with_items error
2014-03-16 15:10:31 -05:00
Michael DeHaan
4a06954a13
Merge pull request #6390 from sergevanginderachter/group-varsdirs-svn
...
group_vars plugin: do not parse hidden files in subfolders
2014-03-16 14:44:17 -05:00
Michael DeHaan
9cdbc53741
Merge pull request #6420 from bcoca/role_names
...
added new role_names variable that exposes current roles list
2014-03-16 14:42:40 -05:00
Michael DeHaan
26efc7ace8
Revert "Populate module_setup from the setup module rather than special code elsewhere"
...
This reverts commit 58eec2e4c2
.
2014-03-16 14:11:43 -04:00
Oleg Bulatov
f6a4c20cc0
Make parsing variables for hosts and groups more consistent
...
This commit allows to specify arrays in [group:vars] block.
Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
2014-03-16 21:47:26 +04:00
Michael DeHaan
a9896afc66
Merge pull request #6418 from bcoca/template_itnore_errors
...
templates ignore_errors
2014-03-16 12:44:51 -05:00
Michael DeHaan
d5856bd475
Merge pull request #6391 from sergevanginderachter/hashmerge_inventoryscripts
...
Allow hash_behaviour=merge to be respected in core inventory
2014-03-16 12:42:35 -05:00
Dag Wieers
58eec2e4c2
Populate module_setup from the setup module rather than special code elsewhere
...
This small change allows for individual setup actions to populate the SETUP_CACHE and not cause a subsequent facts-gathering when not needed. This follows the standard of other facts modules as laid out in #1206 and implemented in fedfd18774
. It allows to test of the setup module has already been run even when gather_facts was explicitely disabled.
2014-03-16 13:37:07 -04:00
Michael DeHaan
3d44f7cd51
Merge pull request #6217 from ashokrajar/patch-1
...
pause plugin doesn't flush raw_input prompt
2014-03-16 12:32:58 -05:00
Cristian Ciupitu
0749112286
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-16 13:10:28 -04:00
Cristian Ciupitu
a7da5d8702
Micro-optimization of inventory.expand_hosts.detect_range
2014-03-16 13:10:28 -04:00
brdo
3963a64a4f
Set keepalive to 5 seconds in paramiko_ssh.py
...
This update resolves https://github.com/ansible/ansible/issues/6476 .
2014-03-15 11:18:47 -07:00
Brian Coca
2d25577e11
Fixes and cleanup to file functions and module
...
- unified set attribute functions ... not sure why 2 identical functions
exist with diff names, now there are 3 while i repoint all modules to 1
- fixed issue with symlinks being created w/o existing src when force=no
- refactored conditionals, simplified where possible
- added tests for symlink to nonexistant source, with both force options
- made symlink on existing attomic (force)
2014-03-15 13:54:24 -04:00
James Cammarata
a0cb974575
Be sure to return to the old directory if cwd is set in run_command
2014-03-13 16:24:29 -05:00
James Tanner
a348f67238
Reset the current directory after running subprocess.Popen
2014-03-13 17:15:23 -04:00
James Cammarata
677008bef7
Rejoin args list into a string for run_command when using an unsafe shell
...
This allows the use of an args list with leading environment variables,
which otherwise would fail due to the way Popen works.
2014-03-13 14:31:32 -05:00
James Cammarata
5233d4bc31
Fix typo in run_command when sending data that is not binary
2014-03-13 14:28:51 -05:00
James Cammarata
b1a37dcc08
Revert "Rejoin args list into a string for run_command when using an unsafe shell"
...
This reverts commit 4273cb2d8e
.
2014-03-13 14:04:51 -05:00
James Cammarata
4273cb2d8e
Rejoin args list into a string for run_command when using an unsafe shell
...
This allows the use of an args list with leading environment variables,
which otherwise would fail due to the way Popen works.
2014-03-13 13:51:59 -05:00
Michael DeHaan
d1753046e0
Revert "Correctly catch template errors without returning invalid data"
...
This reverts commit 3cd7d47b7e
.
2014-03-13 07:46:19 -04:00
James Cammarata
303e085f8b
Only use cwd in run_command kwargs if the directory exists
2014-03-12 15:59:55 -05:00
James Cammarata
60a7f57300
Make sure the cwd exists in run_command before trying to use it
2014-03-12 14:33:31 -05:00
Dan Koch
bbf320fd22
Work around for cwd stat problems with run_command and sudo
...
This fixes issue #6443
2014-03-12 14:59:50 -04:00
James Cammarata
2c7d58abe0
Compile ca certs into a temp file to reduce number of attempts
...
For those who may have a large number of certs found, this can reduce
the number of ssl connections attempted.
2014-03-12 13:45:16 -05:00
Michael DeHaan
d37f0c6d12
Use same implementation as ssh.py for "is in host file" checks in module code, prevents git module from adding keys more than once.
2014-03-12 14:11:45 -04:00
Michael DeHaan
6d841d120e
Don't process shell commands as arrays.
2014-03-12 11:57:28 -04:00
James Cammarata
86d2ee4b97
Don't append tags from roles to the plays tags list
...
Fixes #6393
2014-03-12 10:41:18 -05:00
James Cammarata
a9017af2bb
Adding validate_certs to all modules that use fetch_url
2014-03-12 10:19:54 -05:00
Michael DeHaan
cfabc2e28a
module.run_command is intended to bypass the shell here, so can't do ">>"
2014-03-12 10:57:49 -04:00
James Cammarata
7f38cff989
Remove unused code from get_ca_certs() function
2014-03-12 09:33:19 -05:00
James Cammarata
804e4166c8
Rewriting ssl validation to try multiple certs found in paths
...
Previously, the function checked only for a single CA root cert, however
some distributions may have multiple certs in a directory. This will now
try any .crt or .pem file contained within several common paths for
each platform.
Fixes #6412
2014-03-12 09:21:19 -05:00
Michael DeHaan
0b0ca95731
Expand environment variables and tildes passed to commands generically across the board.
2014-03-12 10:11:09 -04:00
James Tanner
0e38f5dfdc
Check for hash availability during vault operations
2014-03-12 09:38:29 -04:00
Brian Coca
906e59d8a8
added new role_names variable that exposes current roles list
2014-03-11 22:13:29 -04:00
Brian Coca
7778aca966
templates ignore_errors
2014-03-11 21:30:58 -04:00
James Cammarata
6c25e78299
Merge branch 'devel' of https://github.com/dparalen/ansible into dparalen-devel
2014-03-11 15:34:15 -05:00
James Tanner
e4e64a9699
Rename lxc to libvirt_lxc
2014-03-11 16:16:24 -04:00
James Cammarata
bca6adc812
Merge pull request #4064 from mscherer/lxc
...
Add a plugin that permit to use ansible for lxc system, using libvirt
2014-03-11 15:12:51 -05:00
James Cammarata
430cce9df3
Merge branch 'ec2_security_token' of https://github.com/willthames/ansible into willthames-ec2_security_token
2014-03-11 10:45:38 -05:00
Serge van Ginderachter
6b1cb22fc3
Allow hash_behaviour=merge to be respected in core inventory
...
(For now, this means, enable it also for inventory scripts)
2014-03-11 12:49:54 +01:00
Serge van Ginderachter
29c60bdaff
group_vars plugin: do not parse hidden files in subfolders, e.g. avoid .svn/
2014-03-11 12:20:58 +01:00
James Tanner
6740a1f342
Wrap crypto.hash imports with try/except
2014-03-10 19:44:08 -04:00
Michael DeHaan
411bcb7161
Merge remote branch 'real/devel' into devel
2014-03-10 19:11:21 -04:00
Michael DeHaan
2fa6110961
Update the message about pycrypto to include that python-devel must be installed.
2014-03-10 17:23:37 -04:00
James Tanner
0d6f6ad282
Implement new default cipher class AES256
2014-03-10 16:15:44 -05:00
Michael DeHaan
20f0157152
Merge pull request #6378 from franckcuny/headers-gce-utils
...
Add BSD license to module_utils/gce.py
2014-03-10 16:14:51 -05:00
James Tanner
ba0fec4f42
Force command action to not be executed by the shell unless specifically enabled
2014-03-10 16:13:30 -05:00
James Cammarata
9730157525
Validate SSL certs accessed through urllib*
...
* Adds another module utility file which generalizes the
access of urls via the urllib* libraries.
* Adds a new spec generator for common arguments.
* Makes the user-agent string configurable.
Fixes #6211
2014-03-10 16:06:52 -05:00
James Cammarata
6577ff5f85
Add tags from handlers to tag availability calculation
2014-03-10 16:06:13 -05:00
Richard Isaacson
4993cb57f4
Merge pull request #6283 from magicrobotmonkey/upstream
...
fix missing stdin in _parallel_runner
Tested with GIST https://gist.github.com/risaacson/7290d30a612e0c70ea1b .
Passes "make tests"
Passes non_destructive tests.
2014-03-10 14:38:56 -05:00
Franck Cuny
82f99bfa3d
Add BSD license to module_utils/gce.py
2014-03-10 12:02:45 -07:00
Matt Martz
4b400ca5e9
Only used stripped data for testing if the file is json, but used unstripped when actually parsing. Fixes #6348
2014-03-10 13:43:34 -05:00
Seth Woodworth
1d5db30067
Updates loop warning, removes unnecessary c
2014-03-09 00:19:28 -05:00
James Cammarata
04a6dc6d12
Check for skipped tags in passed role variables before adding to them
...
Fixes #6330
2014-03-08 18:55:42 -06:00
Michael DeHaan
d2cb35f898
Merge pull request #6320 from angstwad/instance-redo
...
Use isinstance() rather than a check using type()
2014-03-07 20:41:33 -06:00
James Cammarata
4753804ab4
Merge pull request #6332 from jimi-c/issue_6329_space_in_var
...
Correctly catch template errors without returning invalid data
2014-03-07 17:38:47 -05:00
James Cammarata
e3b887f770
Fix range issue in inventory and add additional error checking
...
Fixes #6331
2014-03-07 16:34:04 -06:00
James Cammarata
3cd7d47b7e
Correctly catch template errors without returning invalid data
...
Fixes #6329
2014-03-07 14:36:54 -06:00
James Cammarata
f80d02d841
Properly wrap logical elements together for su/sudo detection
2014-03-07 00:07:10 -06:00
James Cammarata
b6056044b7
Partial revert of 73c883c
due to issues with handlers in roles
...
Fixes #6322
2014-03-06 21:13:40 -06:00
Michael DeHaan
e486dbab04
Use the loaded variable since we have it assigned, not just for error detection.
2014-03-06 22:15:21 -05:00
Michael DeHaan
3f07ec3d73
Fixup JSON error reporting in previous commits.
2014-03-06 22:07:35 -05:00
Michael DeHaan
a4d01b0891
Also search .json filenames
2014-03-06 21:47:49 -05:00
Michael DeHaan
79799f6819
Allow any file that can be in YAML to also be in JSON. This is primarily done to support non-visual editors better.
2014-03-06 21:42:51 -05:00
James Cammarata
a0f939581d
Merge branch 'aresch-devel' into devel
2014-03-06 16:47:06 -06:00
Paul Durivage
3cce3650e5
Use isinstance() rather than a check using type()
2014-03-06 16:16:25 -06:00
Richard Isaacson
119434d079
Merge pull request #6319 from risaacson/fix_test_dir_inventory
...
Fix TestInventory Unit Tests
Tested clean.
2014-03-06 15:43:45 -06:00
James Cammarata
9b79591f23
Merge branch 'devel' of https://github.com/aresch/ansible into aresch-devel
2014-03-06 15:17:55 -06:00
James Cammarata
2a0028e687
Sanitize run_command argument output
...
Fixes #6316
2014-03-06 13:34:22 -06:00
Andrew Resch
4d80019ac8
Fix logic checking for both sudo and su, and their respective users
2014-03-06 10:24:16 -08:00
Richard C Isaacson
16fe09eef8
Fixes related to uncommenting test_dir_inventory in TestInventory.
...
0. Uncomment the test.
1. Test fails.
2. Make vars unique per file in test inventory files.
3. Modify token addition to not ast.literal_eval(v) a variable containing a hash.
4. Modify vars to have an escape in test inventory file.
5. Catch exceptions explicitly. Any unknown exceptions should be a bug.
6. Test passes.
2014-03-06 12:09:53 -06:00
James Cammarata
9f2999df79
Un-escape newlines in delimiters for assemble module
2014-03-06 09:44:56 -06:00
Brian Coca
79809b67dc
fixed another line with same issues
...
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2014-03-06 08:43:24 -05:00
Brian Coca
d3d5680d8f
tags lists are properly uniqued and joined now, also avoids type issues when passed as list/set or strings
...
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2014-03-06 08:28:36 -05:00
Will Thames
b9a7352e0a
Work to allow security tokens and profiles to work with Ansible
...
Allow security tokens and profiles to be used as arguments
to the 'common' ec2 modules
Mostly refactoring to provide two new methods,
`get_aws_connection_info`, which results in a dict that can be
passed through to the boto `connect_to_region` calls, and
`connect_to_aws` that can pass that dict through to the
`connect_to_region` method of the appropriate module.
Tidied up some variable names
Works around boto/boto#2100
profiles don't work with boto < 2.24, but this detects for that
and fails with an appropriate message. It is designed to work
if profile is not passed but boto < 2.24 is installed.
Modifications to allow empty aws auth variables to be passed
(this is useful if wanting to have the keys as an optional
parameter in ec2 calls - if set, use this value, if not set,
use boto config or env variables)
Reworked validate_certs improvements to work with refactoring
Added documentation for profile and security_token to affected modules
2014-03-06 16:28:30 +10:00
James Cammarata
0e98496e12
Merge pull request #6299 from jimi-c/issue_4656_role_deps_across_plays
...
Keep track of role dependencies across plays
2014-03-05 19:46:46 -06:00
Michael DeHaan
94a7fb60fe
Allow escaped comments in inventory files.
2014-03-05 20:10:25 -05:00
aresch
23a0468a4b
Fix respecting remote_tmp when sudo is used
2014-03-05 16:25:42 -08:00
James Tanner
4e8ed92130
Fixes #6077 decode escaped newline characters in content for the copy module
2014-03-05 18:49:54 -05:00
Richard C Isaacson
b41d8106ff
Revert "Merge pull request #6287 from risaacson/fix_hash_in_var"
...
This reverts commit a808287451
, reversing
changes made to 6129ea7566
.
2014-03-05 14:49:30 -06:00
James Cammarata
73c883c122
Keep track of role dependencies across plays
...
Also fixes a bug in which tags specified on top-level roles were
not being passed down to dependent roles.
Fixes #4656
2014-03-05 14:37:37 -06:00
Richard Isaacson
a808287451
Merge pull request #6287 from risaacson/fix_hash_in_var
...
Fix inventory for test_dir_inventory, merge PRs from GH-5749, cleanup some formatting.
2014-03-05 14:20:27 -06:00
James Tanner
6129ea7566
Fixes #6298 and adds a sudo unit test for synchronize
2014-03-05 14:51:40 -05:00
Richard C Isaacson
38abd5e20e
Break this out into a reusable function and document regex shortcomings.
2014-03-05 10:50:58 -06:00
Luca Berruti
7cf363910a
fixes #6244
2014-03-05 09:18:01 +01:00
jctanner
40ee030790
Merge pull request #6265 from franckcuny/gce-fixes
...
Add credential parameters to the GCE modules.
2014-03-05 00:11:52 -05:00
Franck Cuny
6294264dc4
Add credential parameters to the GCE modules.
...
In order to simplify the workflow with the GCE modules, it's now
possible to add the parameters and project name as arguments to the
various GCE modules.
The inventory plugin also returns the IP of the host in
`ansible_ssh_host` so that you don't have to specify IPs into the
inventory file.
Some update to the documentation are also added.
Closes #5583 .
2014-03-04 19:27:49 -08:00
Richard C Isaacson
49bd8b0b35
Fix inventory for test_dir_inventory
...
It came up that fixing this unit test may relate to another ticket that is open. This work allows us to uncomment this unit test by fixing how we pars variables allowing a quoted variable to contain a '#'.
Work also went into cleaning up some of the test data to clarify what was working.
Lastly work went into cleaning up formatting so that the code is easily read.
2014-03-04 18:31:49 -06:00
Aaron Bassett
5c589af191
fix missing stdin in _parallel_runner
2014-03-04 16:00:26 -05:00
Richard Isaacson
92aacb198c
Merge pull request #6156 from iiordanov/devel
...
Add support for checking host against global known host files.
The effect of this is that before this fix if files are spread across the known_hosts file but not in the ~/known_hosts file the hosts will execute sequentially. This PR augments the functionality so that all of the knowns hosts will execute in parallel.
2014-03-03 23:51:51 -06:00
Richard Isaacson
e79d859dfb
Merge pull request #6213 from sergevanginderachter/fix-delegate-templating
...
Fixes templating of ansible_ssh_host for delegates.
Tested that this works. Confirmed.
2014-03-03 23:10:09 -06:00
Michael DeHaan
435104065e
Merge pull request #6248 from hkariti/fix_list_copy
...
Fix incorrect use of copy() on list, causing a traceback
2014-03-03 17:11:30 -05:00
Jesse Keating
0c2c37a47a
Avoid range selection on empty groups
...
This prevents a traceback when the group is empty.
Fixes #6258
2014-03-03 13:23:27 -08:00
James Tanner
623cd9ac50
Revert "Merge pull request #6250 from dagwieers/gather_facts-once"
...
This reverts commit b769b4181a
, reversing
changes made to 1e01fb856d
.
2014-03-03 10:20:42 -05:00
Dag Wieers
0da06eff5c
Fix regression causing setup to run for every play
...
This patch makes sure setup only runs once, unless it is enforced on a play.
2014-03-03 16:15:19 +01:00
Hagai
0e4b38ed5a
Fix incorrect use of copy on list
2014-03-03 14:47:57 +02:00
Tefnet
c652802d29
missing import in assert module
...
Fixed missing ansible.errors import in assert module
2014-03-02 00:59:17 +01:00
Michael DeHaan
16d3be03af
Remove a few extra legacy variable feature references.
2014-02-28 18:51:15 -05:00
Michael DeHaan
46ec8759d5
Remove the legacy templating code, which was guarded by deprecation warnings in the previous two releases, and undocumented for a long time. use {{ foo }} to access variables instead of ${foo} or $foo.
2014-02-28 18:38:45 -05:00
Michael DeHaan
9d01d88a57
Bump versions on the devel branch (devel branch version is 1.6)
2014-02-28 18:27:16 -05:00
Michael DeHaan
5443ddec75
Trim references to fireball as we want folks using accelerate or pipelining options. Fireball is pretty well deprecated at this point, but will still be part of the release.
2014-02-28 13:50:39 -05:00
James Cammarata
79645535c0
Handle empty results from failed connections in _remote_md5()
...
Fixes #5800
2014-02-28 12:50:03 -06:00
Gilles Cornu
04f6367172
Fully clean 'ssh_old' and 'paramiko_alt' options
...
These transports have been removed in 33857855ad
2014-02-28 18:28:04 +01:00
Ashok Raja R
cb3c6417dd
pause plugin doesn't flush raw_input prompt
...
##### Issue Type:
Bugfix Pull Request
##### Ansible Version:
ansible 1.4.3
##### Environment:
N/A
##### Summary:
We are using a wrapper python script to run ansible-playbook. We use subprocess to execute and print the stdout as and when its written. Problem is when we use pause it doesn't display the prompt string as raw_input does not flush stdout before reading from stdin.
It looks like a dirty fix to add "\n" to the prompt string but i don't see any other way to over come this. If anyone else have a better fix please do propose/suggest.
##### Steps To Reproduce:
```yaml
#File: test_play.yml
- name: Test
hosts: $nodes
gather_facts: false
tasks:
- name: Waiting for User
local_action: pause prompt="Do you want to continue (yes/no)? "
```
```python
#!/usr/bin/env python
#File: test.py
import shlex, subprocess
def run_process(process):
process = process.encode("utf-8")
command = shlex.split(process)
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in iter(p.stdout.readline, b''):
print line,
cmd = "/usr/bin/python -u /usr/bin/ansible-playbook -i hosts.txt test_play.yml -e 'nodes=local'"
run_process(cmd)
```
```
shell $ python test.py
```
##### Expected Results:
```
PLAY [Test] *******************************************************************
TASK: [Waiting for User] ******************************************************
[localhost]
Do you want to continue (yes/no)? :
```
##### Actual Results:
```
PLAY [Test] *******************************************************************
TASK: [Waiting for User] ******************************************************
[localhost]
```
2014-02-28 11:28:38 +05:30
James Cammarata
df9de6ea71
Expand the source path in the action plugin when not using a remote source
...
Fixes #6209
2014-02-27 12:50:35 -06:00
Serge van Ginderachter
9833263417
Fixes templating of ansible_ssh_host for delegates
2014-02-27 18:06:34 +01:00
James Cammarata
c11e2100e0
Save the original transport in runner after detecting the smart transport
...
Fixes #6192
2014-02-27 10:30:50 -06:00
Michael DeHaan
cd7d7eb1bc
Merge pull request #6202 from muffl0n/unarchive_destdir
...
unarchive: output dest in error-message
2014-02-27 10:36:10 -05:00
muffl0n
17946b23d5
output dest in error-message
2014-02-27 13:29:26 +01:00
Richard C Isaacson
9c8bbe2904
column must always be less than len(probline)
...
Fixes related to GH-5773.
2014-02-26 16:28:34 -06:00
James Cammarata
14ba10393b
Minor tweak to region config in boto configuration file
2014-02-26 15:40:33 -06:00
James Cammarata
88acb48e61
Merge branch 'ec2_boto_config_region' of https://github.com/willthames/ansible into willthames-ec2_boto_config_region
2014-02-26 15:32:05 -06:00
James Cammarata
2a383786dd
And remove the expanduser calls from the action_plugin
2014-02-26 15:29:00 -06:00
Richard C Isaacson
585766201d
When looking for double colon len(line) is longer then 1.
...
Addresses GH-5116.
It comes up that when parsing json that if you are missing the last double quote on the last variable and the next line is just '}' we will get an out of range error. In this instance we will also then make sure that the line is long enough to have two colons.
2014-02-26 14:25:56 -06:00
James Cammarata
b758ed9417
Merge pull request #6150 from hkariti/fix_join_bug
...
Fix incorrect use of .join on list causing a traceback
2014-02-26 12:50:07 -06:00
James Cammarata
96f1c3ce2e
Move where the expanduser call is made, to avoid issues with None
2014-02-26 12:33:17 -06:00
James Cammarata
e659d55d62
Merge branch 'devel' of https://github.com/muffl0n/ansible into muffl0n-devel
2014-02-26 12:28:26 -06:00
James Cammarata
5ff20c1ae7
Merge branch 'scottanderson42-ec2-params' into devel
2014-02-26 11:38:36 -06:00
James Tanner
baed7a0ed9
Fixes #6187 Add unit tests for VaultLib
2014-02-26 12:10:09 -05:00
Michael DeHaan
33857855ad
removing some unusued files. Paramiko alt was an experiment to attempt pipeline for paramiko, ssh_old is the non-pipelining-supported earlier
...
version of the OpenSSH transport, which is configurable now and unified.
2014-02-26 11:26:52 -05:00
James Tanner
35def422a3
Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook
2014-02-26 11:01:03 -05:00
James Cammarata
8a7c68dc18
Merge branch 'ec2-params' of https://github.com/scottanderson42/ansible into scottanderson42-ec2-params
...
Conflicts:
lib/ansible/module_utils/ec2.py
library/cloud/ec2
2014-02-26 09:37:26 -06:00
Richard C Isaacson
af616fe15e
Rename flatten funciton.
...
flatten(x) is used a lot in the various lookup plugins where in each it is slightly different. This is to make this name slightly more unique.
2014-02-25 14:59:06 -06:00
Kent R. Spillner
1fcc9ff666
lookup_plugins: loop over hashes
...
Create a lookup plugin named dict that can be used to loop over hashes.
It converts a dict into a list of key-value pairs, with attributes named
"key" and "value." Also adds a brief explanation and simple example to
the docs.
Signed-off-by: Kent R. Spillner <kspillner@acm.org>
2014-02-25 11:20:15 -06:00
James Tanner
876035c0b1
Fixes #6161 Get the delegate host info properly from the hostvars object
2014-02-25 11:18:06 -05:00
James Tanner
9209581565
Fixes #6155 Inject checkmode into synchronize module args
2014-02-25 08:58:58 -05:00
James Cammarata
a18f811b2d
Merge branch 'jimi-c-issue_4620' into devel
2014-02-24 21:38:55 -06:00
James Cammarata
f23ccebbdc
Merge branch 'issue_4620' of https://github.com/jimi-c/ansible into jimi-c-issue_4620
2014-02-24 20:30:25 -06:00
James Tanner
0f95a905d9
Fixes #5965 Ensure the inject for each item in a loop is un-altered
2014-02-24 20:54:26 -05:00
Iordan Iordanov
a1854bb762
Add support for checking host against global known host files.
2014-02-24 16:05:03 -05:00
James Cammarata
3b2d409906
Fixing several bugs in assemble and updating tests
...
Bugfixes:
* the remote_src param was not being converted to a boolean correctly,
resulting in it never being used by the module as the default behavior
was remote_src=True (issue #5581 )
* the remote_src param was not listed in the generic file params, leading
to a failure when the above bug regarding remote_src was fixed
* the delimiter should always end with a newline to ensure that the file
fragments do not run together on one line
Fixes #5581
2014-02-24 14:27:23 -06:00
jctanner
8a253bf576
Merge pull request #6151 from jctanner/vault_rewrite
...
Vault rewrite, pass 1
2014-02-24 14:54:01 -05:00
jctanner
93c746db9c
Merge pull request #5651 from nikut/sshfix
...
allow ansible_ssh_private_key_file to be templated (thanks to benno)
2014-02-24 14:26:48 -05:00
James Tanner
9c9f15acb7
Fix decryption error
2014-02-24 13:20:27 -05:00
James Tanner
52a8efefba
Vault rewrite, pass 1
2014-02-24 13:09:36 -05:00
Hagai
ae9c0d87a9
Fix incorrect use of .join on list
2014-02-24 19:48:55 +02:00
Richard C Isaacson
8be8dbc9ed
Formatting cleanup.
2014-02-24 11:11:47 -06:00
Richard C Isaacson
aaf0a182e1
Merge remote-tracking branch 'jeromew/ansible_script_creates' into issues_4986
2014-02-24 10:16:39 -06:00
Veeti Paananen
dd6f2e6bfa
Show the offending file name with the include + with_items error
2014-02-23 20:51:57 +02:00
Michael DeHaan
9686695170
Assume empty files are unencrypted.
2014-02-21 21:06:04 -05:00
James Tanner
4af1d6098b
Fixes #5939 Allow for delegate hosts that are not in inventory
2014-02-21 15:54:09 -05:00
James Cammarata
fa1ab231c9
Fixing bug in which playbook vars were not merged properly
...
This occurred when a hash would be passed in via extra args and the
hash variable behavior was set to 'merge', which resulted in the
variable from extra args replacing the playbook variable.
2014-02-20 15:25:52 -05:00
Michael DeHaan
bc65956798
Add tests that leverage most of our custom filters. A few more to add.
2014-02-20 15:24:03 -05:00
James Cammarata
f5505425f9
Adding 'expanduser' filter to the core filters list
...
Example usage: {{ my_path | expanduser }} # my_path: "~/path/to/file"
2014-02-20 13:48:07 -05:00
James Cammarata
ef2df8157a
Fixup result dictionary when copy module calls file module
2014-02-19 18:05:59 -05:00
muffl0n
b0f00cc097
already call expanduser in action_plugin
2014-02-19 21:41:57 +01:00
muffl0n
5f0e882d01
call expanduser for src and dest
2014-02-19 21:30:53 +01:00
root
0df166e7c0
Copy tests WIP, fix bug in assert module upgrades where the wrong value was being checked.
2014-02-19 14:36:54 -05:00
James Cammarata
54117ab28f
Modified assert module to take tests as an array
2014-02-19 14:05:03 -05:00
James Tanner
bee089d5e1
Remove entropy comment
2014-02-19 13:36:20 -05:00
James Tanner
86b9f84fb9
Change entropy message for vault
2014-02-19 13:31:01 -05:00
Richard Isaacson
dc403eb21e
Merge pull request #6058 from jctanner/vault_squashed_2
...
Ansible vault: a framework for encrypting any playbook or var file.
2014-02-19 11:39:55 -05:00
James Tanner
3a965a1392
Remove intermediate string on decrypt
2014-02-19 11:35:00 -05:00
James Tanner
286ca505bd
Remove breakpoint
2014-02-19 11:08:02 -05:00
James Tanner
84467a8f12
Change retype to confirm
2014-02-19 11:06:53 -05:00
James Tanner
aa46ab1d86
Fix function name
2014-02-19 11:05:08 -05:00
James Tanner
3fc87e011b
Fix all other calls to yaml
2014-02-19 11:01:21 -05:00
James Cammarata
b6222abee6
Fix unicode decode error in syslog for modules
...
Fixes #6056
2014-02-19 09:42:01 -05:00
James Tanner
427b8dc78d
Ansible vault: a framework for encrypting any playbook or var file.
2014-02-18 15:35:12 -05:00
Richard C Isaacson
1ac19cb981
Copy action_plugin: encode content when dict.
...
When content is processed and found to be valid JSON it is decoded into a dict. To write it out to a file we need to encode it back into a string.
Addresses GH-5914.
2014-02-18 13:23:44 -06:00
James Cammarata
f29ce80d12
Default port to 22 for paramiko when it is unset
2014-02-18 09:53:24 -06:00
James Cammarata
92cbfff904
Merge branch 'sshdefault' of https://github.com/craigtracey/ansible into craigtracey-sshdefault
2014-02-18 09:44:19 -06:00
jeromew
7a14cb61c4
Add creates= and removes= to the script: action
2014-02-18 12:52:09 +00:00
Niku Toivola
6cc9b16f06
allow templating of ansible_ssh_private_key_file also in the synchronize module
2014-02-18 11:32:33 +02:00
Niku Toivola
2faaff78ee
removed comment
2014-02-18 11:32:06 +02:00
Niku Toivola
68a3e8163e
allow ansible_ssh_private_key_file to be templated (thanks to benno)
2014-02-18 11:32:05 +02:00
Martin Thorsen Ranang
7e23ed345f
Avoid breaking on unicode input when logging to syslog in modules
...
After commit 254f87e
, non-ascii input broke logging to syslog.
2014-02-17 23:56:08 +01:00
James Cammarata
0cfaabf9cb
Make sure unicode params don't break logging in modules
2014-02-17 13:37:48 -06:00
James Cammarata
788ac51185
Sanitize sudo success_key from stdout for raw/script modules
...
Fixes #5533
Closes #5605
Closes #5606
Closes #5607
2014-02-17 12:47:47 -06:00
Richard C Isaacson
80ddd1ca75
Config resoution order correction and documentation.
2014-02-14 14:34:58 -06:00
James Cammarata
4012f4bb95
Merge branch 'allow-equals-in-ini-vars' of https://github.com/worklez/ansible into worklez-allow-equals-in-ini-vars
2014-02-14 10:39:14 -06:00
James Cammarata
faa645c834
Merge pull request #6001 from jimi-c/issue_4087_sanitize_output
...
Filter out messages that match the pattern username:password@host
2014-02-14 09:54:05 -06:00
Ilya Kuznetsov
0658847ea6
Allow equal sign in single-line ini variables
2014-02-14 20:04:23 +07:00
Michael DeHaan
c91ceddfac
Add the start of an integration test structure using Ansible playbooks, also added an assert action plugin to make writing those easier.
2014-02-13 18:28:29 -05:00
Chris Hoffman
affed67ebd
Small fix for ec2 validate_certs option
2014-02-13 16:30:31 -05:00
James Cammarata
b8646991db
Filter out messages that match the pattern username:password@host
...
This filtering is done in both the module invocation logging and in
the regular verbose() logging output.
Fixes #4087
2014-02-13 14:23:49 -06:00
James Cammarata
056d54ebd3
Adding 'validate_certs' option to EC2 modules
...
When disabled, the boto connection will be instantiated without validating
the SSL certificate from the target endpoint. This allows the modules to connect
to Eucalyptus instances running with self-signed certs without errors.
Fixes #3978
2014-02-13 12:32:49 -06:00
Brian Coca
31b5728618
directory detection should now work on BSDs, added AIX alternate path
2014-02-13 08:23:56 -05:00
James Cammarata
254f87e7dd
Fix log handling of unicode output to syslog in modules
2014-02-12 11:27:52 -06:00
Richard Isaacson
eb4a730933
Merge pull request #5969 from risaacson/pull_5136
...
Updates for the unarchive module and action_plugin.
2014-02-12 10:10:25 -06:00
Richard C Isaacson
598b9c6b7c
Cleanup per notes.
...
Some small changes to per notes from @mpdehann.
2014-02-12 10:01:10 -06:00
Richard C Isaacson
cb7c2b7524
Updates for the unarchive module and action_plugin.
...
There is a bit going on with the changes here. Most of the changes are cleanup of files so that they line up with the standard files.
PR #5136 was merged into the current devel and brought up to working order. A few bug fixes had to be done to get the code to test correctly. Thanks out to @pib!
Issue #5431 was not able to be confirmed as it behaved as expected with a sudo user.
Tests were added via a playbook with archive files to verify functionality.
All tests fire clean including custom playbooks across multiple linux and solaris systems.
2014-02-12 01:57:00 -06:00
Jacob Weber
35742fe008
Add regex_replace jinja2 filter
2014-02-11 22:02:53 -08:00
Richard C Isaacson
e6c9705058
Merge remote-tracking branch 'pib/unarchive_remote' into pull_5136
2014-02-11 22:55:34 -06:00
James Cammarata
a023cbce14
When using jsonify in modules, try several unicode encoding for dumps()
...
Fixes #4821
2014-02-11 14:19:40 -06:00
James Tanner
9ce46e5f41
Refactor the synchronize action plugin and add unit tests
2014-02-10 23:39:17 -05:00
James Cammarata
3f90020d62
Open LOG_LOCK file with FD_CLOEXEC to prevent file descriptor leakage
...
Fixes #5399
2014-02-10 15:51:52 -06:00
James Cammarata
bbda98a3ee
Merge branch 'issue_4812' into devel
2014-02-10 13:35:53 -06:00
James Cammarata
bb79b16d59
Specify mode in the makedirs call for fireball/accelerate keys
2014-02-10 13:27:43 -06:00
James Cammarata
65cb79a5c1
Merge branch 'devel' of https://github.com/xyrix/ansible into xyrix-devel
2014-02-10 13:18:59 -06:00
Scott Anderson
baf508a379
Change standard AWS access and secret key parameter names to aws_access_key and aws_secret_key. Fixes an authentication problem with the rds module and standardizes the naming convention on something more encompassing than ec2_*_key.
2014-02-08 18:35:26 -05:00
Richard C Isaacson
786e3d2fd2
Refining the fix made in #5885 .
...
It turns out that some of the assumptions in #5885 were slightly off. The previous fix relied on a call to the module to creat a tmp_path. This is insufficent as there are few cases that we need to have the tmp directory before we make the module call. If we don't have a tmp_path before we do a recursive call or when we find a file that does not match the remote md5 hash we need to create a tmp directory. Also we are not more percise when we will need to clean up the remote tmp_path.
2014-02-08 02:25:42 -06:00
Michael DeHaan
1609dfbca4
Revert "Revert "Revert "Add the fork manager code (related to previous patch)."""
...
This reverts commit 60d3611b70
.
2014-02-07 20:38:24 -05:00
Michael DeHaan
633d685bb7
Revert "Revert "Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks"""
...
This reverts commit 73ca1a173c
.
2014-02-07 20:38:20 -05:00
Michael DeHaan
ad8c275887
Revert "While the previous work on the foon class can't be quite recycled, it's still a nice abstraction."
...
This reverts commit caab52aee2
.
2014-02-07 20:38:18 -05:00
Michael DeHaan
caab52aee2
While the previous work on the foon class can't be quite recycled, it's still a nice abstraction.
2014-02-07 19:32:19 -05:00
Michael DeHaan
73ca1a173c
Revert "Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks""
...
This reverts commit 6685b4989e
.
2014-02-07 18:14:27 -05:00
Michael DeHaan
60d3611b70
Revert "Revert "Add the fork manager code (related to previous patch).""
...
This reverts commit c53538dc77
.
2014-02-07 18:14:13 -05:00
Michael DeHaan
6685b4989e
Revert "This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks"
...
This reverts commit 85d66b9a0c
.
2014-02-07 18:10:38 -05:00
Michael DeHaan
c53538dc77
Revert "Add the fork manager code (related to previous patch)."
...
This reverts commit adb1719fe8
.
2014-02-07 18:10:29 -05:00
Michael DeHaan
adb1719fe8
Add the fork manager code (related to previous patch).
2014-02-07 16:53:35 -05:00
Michael DeHaan
85d66b9a0c
This patch makes Ansible reuse fork allocation between seperate instantations of the runner API, therefore the overhead of recreating forks
...
between tasks in a playbook is avoided. The fork pool will be regenerated when a second play comes along and needs more hosts.
2014-02-07 16:53:35 -05:00
Richard Isaacson
2d88246c9d
Merge pull request #5885 from risaacson/issue5739_4
...
Addresses #5739 and cleans up copy.py
2014-02-07 13:49:06 -06:00
James Tanner
b3ab7e7885
Check mutually_exclusive parameters before applying defaults
2014-02-07 13:42:08 -05:00
Will Thames
d5c309e20d
Pick up default EC2 region from boto.config
...
This doesn't account for boto configs where e.g. RDS has one
default region and EC2 another - all will default to `ec2_region_name`.
However, this is just handy to allow an easy site wide default
region if existing configuration already relies on it.
Modules can be improved to mention this in the documentation and
turn off required=True where needed. But it works with `ec2`
and `ec2_vol` without change.
2014-02-07 22:30:16 +10:00
jctanner
0bc0315171
Merge pull request #5880 from willthames/ec2_modules_refactor
...
Create a common EC2 connection argument spec for EC2 modules
2014-02-06 11:08:09 -05:00
xyrix
20d97416e5
fixed thinkoes
2014-02-06 13:02:11 +00:00
xyrix
0af40374ed
fixed file perms checking
2014-02-06 12:48:34 +00:00
xyrix
1de45bf687
made accelerate keys directory configurable, and permissions for the file and dir configurable, and gave them a safe default
2014-02-06 08:53:43 +00:00
James Cammarata
a72dc2ec34
Use finalize method in jinja2 to convert None values to empty strings
...
Fixes #4812
2014-02-06 00:43:31 -06:00
Will Thames
7600c664fe
Create a common EC2 connection argument spec for EC2 modules
...
Refactor the currently well-factored ec2 modules (i.e. those that already use ec2_connect) to
have a common argument spec. The idea is that new modules can use this spec without duplication
of code, and that new functionality can be added to the ec2 connection code (e.g. security
token argument)
2014-02-06 15:27:41 +10:00
jctanner
28933de84d
Merge pull request #5771 from bcoca/play_hosts2
...
added new play_hosts var
2014-02-05 23:52:20 -05:00
James Cammarata
959a156195
Properly count newlines appearing at the end of templates after rendering
...
Fixes #4633
2014-02-05 15:14:19 -06:00
James Cammarata
ca0ec800d8
Revising method for parsing ranges from --limit subsets
...
Also added a new test (test_subset_range) for future validation.
Fixes #4620
2014-02-05 13:58:03 -06:00
Richard C Isaacson
ac0a5c8ad5
Dug into the remaining FIXME and replaced with comments to document the expected behavior.
2014-02-05 11:39:22 -06:00
Luca Berruti
75b7a1d9c7
Fix slow ssh
...
We break the read while loop after waiting "the end of the process" and
the pipes are empty, otherwise we do another select that waits all the
timeout.
2014-02-05 09:45:03 +01:00
jctanner
a0f91f2aaa
Merge pull request #5576 from xyrix/symlink-bug-fix
...
fixed bug causing symlinks to fail in the host_vars, group_vars etc dire...
2014-02-04 11:39:54 -08:00
jctanner
253fe7be50
Merge pull request #5662 from RSpiertz/update_playbook_error
...
PlayBook: better error message
2014-02-04 11:16:44 -08:00
Richard C Isaacson
a3261500dd
Addresses #5739 and cleans up copy.py
...
The copy action_plugin is not easy to read. Part of this commit is taking that file, restructuring it, and adding comments. No functionality changed in how it interacts with the world.
The fix for #5739 ends up being the assumption that there is a cleanup 'rm -rf' that happens at the end of the copy loop. This was not the fact before and we made a bunch of tmp directories that we hoped would end up being cleaned up. Now we just use the tmp directory that the runner provides and cleanup inline if it is a single file to be coppied or after the loop if it is a recursive copy.
As a part of this we did end up having to change runner to provide a flag so that we could short the inline tmp directory removal. This flag defaults to True so it will not change the behavior of other modules that are being called.
2014-02-04 12:44:10 -06:00
James Tanner
5fafc61008
Fixes 5870 Template delegate hostname earlier in the process
2014-02-04 13:31:22 -05:00
James Tanner
d355d3c698
Fixes #5818 Default to all known connection information for the delegate host
2014-02-03 16:59:30 -05:00
Timur Batyrshin
658c15930e
reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 ( #5852 )
2014-02-03 13:00:40 -06:00
James Cammarata
2d0e9cd75d
Revert "Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks."
...
This reverts commit b20dc4f578
.
2014-02-03 12:54:52 -06:00
James Cammarata
ae9843fccd
Fix issue with handler notifications being sent out incorrectly
...
This is a partial revert of e8ad36c
, which introduced the bug.
Fixes #5848
2014-02-03 10:10:45 -06:00
James Cammarata
9ff99acaff
Merge branch 'issue5739_3' of https://github.com/risaacson/ansible into risaacson-issue5739_3
2014-02-03 09:52:50 -06:00
Brian Coca
ff024b65b2
now with_items also accepts sets
...
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2014-02-01 17:55:38 -05:00
Richard C Isaacson
b20dc4f578
Fix for issue 5739. The copy module does not delete directories it will only unlinks symlinks.
2014-01-31 17:19:44 -06:00
James Cammarata
75e3b59bbd
Adding no_log: capability for tasks
...
Fixes #4088
2014-01-31 16:58:46 -06:00
James Tanner
e6aeb191d5
Revert "Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh"
...
This reverts commit fe091ec00d
, reversing
changes made to aed2194b1d
.
2014-01-30 16:02:05 -05:00
James Cammarata
9574f89471
Detect remote_user change in accelerate daemon and allow a restart
...
Fixes #5812
2014-01-30 14:40:41 -06:00
jctanner
6c25ea1b91
Merge pull request #5527 from sergevanginderachter/basedirdwim
...
path_dwim: fix when basedir not set
2014-01-30 10:54:19 -08:00
James Cammarata
f955d9db6a
Handle implicit localhost when using '-i host,' syntax
...
Fixes #5820
2014-01-30 12:46:02 -06:00
jctanner
360f06b41d
Merge pull request #5806 from sivel/rax-mod-utils-improvements
...
Rax mod utils improvements
2014-01-29 16:17:06 -08:00
James Cammarata
5cc354696d
Build variable dictionary on included plays without using dict()
...
Using dict(k=v) means the key was always named 'k', as the variable
is not interpreted there.
Fixes #5801
2014-01-29 12:31:12 -06:00
Michael DeHaan
d07a3b5e9b
AnsibleWorks -> Ansible
2014-01-28 20:29:42 -05:00
Heikki Hokkanen
b6875b3b87
Fix .ssh/known_hosts path expansion.
...
In particular, do not rely on the $USER environment variable always existing.
tmux for example seems to clear it, causing lots of invalid messages:
"previous known host file not found"
This broke in commit 80fd22dc
, but instead of reverting that commit, we now
fall back to expanding just ~ when $USER is not set.
2014-01-28 15:11:44 -06:00
Matt Martz
ac666e63e0
Support providing a tenant_name also
2014-01-28 13:58:41 -06:00
Matt Martz
aa709012ba
Make sure to also include the region when using keyring_auth
2014-01-28 13:58:41 -06:00
Matt Martz
021b926235
Only specify to USE_KEYRING as the api_key/password when we actually got a keyring_username from ~/.pyrax.cfg
2014-01-28 13:58:41 -06:00
Matt Martz
1ac7dffd55
Support using ~/.pyrax.cfg and multi environments
2014-01-28 13:58:41 -06:00
Matt Martz
139e905e98
identity_type is set dynamically above
2014-01-28 13:58:41 -06:00
Matt Martz
bc473c5be3
Support additional attributes that would allow the rax modules to work with other OpenStack clouds
2014-01-28 13:58:41 -06:00
Matt Martz
d7597414b8
Support keyring for the api_key
2014-01-28 13:58:40 -06:00
James Tanner
fe091ec00d
Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh
2014-01-28 13:06:07 -05:00
Adam Heath
aed2194b1d
self.su_user is done earlier in the code path, and is auto-vivified from
...
su_user_var. My last PR was only half merged, and when the bug fix for
the su/su_pass typo was merged, the removed line in this commit was
mistakenly reintroduced.
2014-01-28 11:04:24 -06:00
James Tanner
3ec043ec17
Fixes #5750 Fail on missing ~/.ssh and ignore accept_hostkey if stricthoskeychecking is off
2014-01-28 11:49:35 -05:00
James Cammarata
88e2595a90
Fixing bug relating to su without an su_pass
2014-01-27 16:27:02 -06:00
Adam Heath
fac7c6d3fe
Allow su_user to be templated, same as sudo_user.
2014-01-27 16:27:02 -06:00
James Cammarata
3fddd78ec5
Fixing traceback caused by incorrect argument passing to json.dumps
...
Fixes #5756
2014-01-27 11:28:07 -06:00
Brian Coca
59d5892fa3
added new play_hosts var
...
this variable has the 'current host list' to be executed over in the
play. Useful when using --limit to not iterate over hosts not included
in play in templates or with_items.
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2014-01-25 18:43:15 -05:00
jctanner
b2d594d24e
Merge pull request #5724 from angstwad/su-tasks-fix
...
Fix bug where playbook tasks do not escalate privs with 'su'
2014-01-23 14:05:14 -08:00
jctanner
19e8742005
Merge pull request #5713 from angstwad/su-fix
...
Disallow su and sudo params in same play/task
2014-01-23 13:55:43 -08:00
Craig Tracey
8c6b3baf6f
Make default ANSIBLE_REMOTE_PORT None
...
The ansible remote port should be None, not 22. Having a default value
of 22 means that '-o Port 22' will be appended to the ssh connection
all of the time. This is incorrect as when one would like to use
something like an ssh configuration file (-F) that sets the port to
something other than 22.
Part of this change requires that we check that, in get_config, the
value is not None before trying to cast it into an integer or float.
2014-01-23 12:49:07 -05:00
Paul Durivage
e875089eba
Fix bug where self.su was being set by the sudo param in play tasks
2014-01-22 11:04:19 -06:00
Paul Durivage
01d1bd61e7
Disallow su and sudo params in same play/task
2014-01-22 10:55:45 -06:00
James Cammarata
ff8eb5f454
Merge pull request #5722 from jeromew/pipelining_default
...
Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean
2014-01-22 07:34:02 -08:00
jeromew
ef69d23715
Bug: chmod should be called only if the tmp dir was created in the first place
2014-01-22 14:04:39 +00:00
jeromew
3f23483022
Bug in constants.py, ANSIBLE_SSH_PIPELINING should be coerced to boolean
2014-01-22 13:54:28 +00:00
Thomas Omans
9343db69b4
Fixing whitespace
2014-01-21 12:44:36 -08:00
Thomas Omans
ce0b5d16b3
Allow templates in ansible_sudo_pass inventory var
...
Template ansible_sudo_pass the same way we template ansible_ssh_pass.
2014-01-21 12:37:04 -08:00
Matt Martz
5ba6739603
Use realpath for plugin directories instead of abspath
2014-01-21 12:41:58 -06:00
James Tanner
61d283e2ad
Fix merge conflicts from #5519
2014-01-21 13:35:06 -05:00
jctanner
da136dbe7c
Merge pull request #5694 from angstwad/add-su-support-revert
...
Add su support
2014-01-21 09:57:00 -08:00
Rob Smith
761fe8cc04
Fix an issue where git-pull fails with AttributeError
...
As part of 94f3b9bfab
the code was changed to support dynamically adding localhost to the inventory. This change introduced an crash when run via ansible-pull
```
Starting ansible-pull at 2014-01-20 23:09:57
Traceback (most recent call last):
File "/tmp/ansible/bin/ansible", line 157, in <module>
(runner, results) = cli.run(options, args)
File "/tmp/ansible/bin/ansible", line 82, in run
hosts = inventory_manager.list_hosts(pattern)
File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 372, in list_hosts
result = [ h.name for h in self.get_hosts(pattern) ]
File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 136, in get_hosts
subset = self._get_hosts(self._subset)
File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 177, in _get_hosts
that = self.__get_hosts(p)
File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 198, in __get_hosts
hpat = self._hosts_in_unenumerated_pattern(name)
File "/tmp/ansible/lib/ansible/inventory/__init__.py", line 275, in _hosts_in_unenumerated_pattern
ungrouped.add_host(new_host)
AttributeError: 'NoneType' object has no attribute 'add_host'
```
The root cause is there is no group for the host to be added to. I fixed this case by creating the ungrouped group when it doesn't exist and then adding the host to the newly added group. This fixes the regression for me.
2014-01-20 20:10:47 -08:00
Rob Smith
953dc6b345
When not finding a host in ~/.ssh/known_hosts, the return value is 0 if the host just is not found. We then never check the system host file in /etc. This fixes the code to check /etc on any failure, not just a bad return code.
2014-01-20 18:56:39 -08:00
Paul Durivage
f72f5a20df
Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
...
This reverts commit c17d0e0357
.
Conflicts:
lib/ansible/runner/connection_plugins/paramiko_ssh.py
2014-01-20 19:19:03 -06:00
Paul Durivage
4c84ba74b0
Resolve su bug in paramiko libs
2014-01-20 19:16:37 -06:00
Jesse Keating
6013f0738e
Store the list of hosts to run on in runner object
...
This reduces the number of times inventory.list_hosts is called, which
can be costly. When coming from a playbook that data is already known.
2014-01-20 16:22:28 -08:00