James Cammarata
ad97c618cf
Add support for relative paths in the file lookup plugin for roles
...
Fixes #7628
2014-06-04 15:20:59 -05:00
James Cammarata
82a784931e
Fix error passing play vars to an included playbook with empty vars
...
Fixes #7658
2014-06-04 13:22:50 -05:00
James Cammarata
d9df607972
Fix order of merging variables for the combined cache
...
Fixes #7598
2014-06-04 10:50:41 -05:00
James Cammarata
74f20ebf79
Removing cruft leftover from the deprecation of include+with_items
...
Also cleaning up integration tests that had checks for the empty item
attribute in certain results.
Fixes #7535
2014-06-03 13:33:26 -05:00
James Cammarata
0fa5100a2c
Merge branch 'fix-7596' of https://github.com/kilburn/ansible into kilburn-fix-7596
2014-06-03 10:26:25 -05:00
James Cammarata
849b0f87ce
Fix error when using os.getlogin() without a tty
2014-06-03 09:36:19 -05:00
Brian Coca
ce8c8ab146
now unique actually works, all operations also now use it to return
...
unique lists.
2014-06-01 16:32:48 -04:00
Michael DeHaan
959af67fe3
Merge pull request #7608 from jjneely/lookup-function
...
template.py: Handle purposely raised exceptions in lookup()
2014-05-30 22:24:53 -04:00
James Cammarata
b94bde9711
Merge pull request #7609 from jimi-c/issue_7553_su_copy
...
Support checking for su user to atomic_move
2014-05-30 15:46:34 -05:00
Jack Neely
2fda9bc743
template.py: Handle purposely raised exceptions in lookup()
...
If a lookup plugin is run by the lookup() template method it should pass
along any AnsibleError (or child exception classes) rather than just eat
them. These exceptions are purposely raised by the plugin.
2014-05-30 16:41:20 -04:00
Marc Pujol
d0f82e94e8
Ensure there are no duplicates in the merged/intersected lists
2014-05-30 15:47:18 +02:00
Marc Pujol
f892cc798c
Merge and intersect lists without using sets.
...
Using sets for these operations is dangerous because sets cannot contain
certain object types (such as lists) and their iteration order is
undefined.
Fixes #7596
2014-05-30 09:07:57 +02:00
James Cammarata
188ab7b952
Check groupnames for None as well as an empty string in add_host
...
Fixes #7585
2014-05-29 11:01:11 -05:00
James Cammarata
feafc4cd8a
Merge branch 'fix_mutable_inventory_vars' of https://github.com/banterchat/ansible into banterchat-fix_mutable_inventory_vars
2014-05-27 22:09:25 -05:00
Isao Jonas
72524e1f3b
dont mutate inventory vars
2014-05-27 19:07:58 -05:00
James Cammarata
061911c9c2
Merge pull request #7558 from dermute/pkg_mgr
...
added solaris fact detection for ansible_pkg_mgr
2014-05-27 16:23:31 -05:00
James Cammarata
e99df21647
Support checking for su user to atomic_move
...
Fixes #7553
2014-05-27 16:04:02 -05:00
James Cammarata
fa86eef9f9
Make sure value in regex_replace is a string
...
Fixes #7551
2014-05-27 14:30:12 -05:00
James Cammarata
ca734fde8b
Merge pull request #7544 from rik2803/patch-2
...
Differentiate machinfo output key/val separator
2014-05-27 13:53:12 -05:00
James Cammarata
cfd8c685d1
Correct issue of handlers running on all hosts incorrectly
...
Also adds an integration test to catch this bug in the future.
Fixes #7559
2014-05-27 12:03:08 -05:00
Alexander Winkler
4980e76a3a
added solaris fact detection for ansible_pkg_mgr
2014-05-27 06:40:47 +00:00
Brian Coca
8f58ae3305
changed exception handling for hashable test
2014-05-26 08:52:57 -04:00
rik2803
cfcbc954f5
Differentiate machinfo output key/val separator
...
get_hw_facts for HP-UX: machinfo in HP-UX B.11.23 uses '=' as separator between key and value, while B.11.31 uses ':'.
2014-05-26 07:56:46 +02:00
Yang Liping
aedf134fc4
Fix portability issue when checking local facts file permission.
2014-05-26 10:55:32 +08:00
James Cammarata
92f16b3d6f
Merge pull request #7539 from jimi-c/issue_7503_freebsd_su_fixes
...
Fixes for su on freebsd
2014-05-25 15:09:58 -05:00
Brian Coca
0dce5dae26
set theory v2, now can handle non hashable items like dicts
2014-05-25 13:20:55 -04:00
James Cammarata
e0c4c51c1f
Merge pull request #7517 from amenonsen/double-error
...
Don't double (or triple) up common error messages
2014-05-23 14:06:12 -05:00
James Cammarata
d77a6965b3
Merge module_vars into inject during template instead of updating
...
This way we won't overwrite values that are stored in the inject
with module_vars that should be lower precedence.
Fixes #7510
2014-05-23 13:36:45 -05:00
Abhijit Menon-Sen
f6792b724a
Don't double (or triple) up common error messages
...
process_common_errors() was called thrice, each time appending to the
existing error message, and leading to confusing repetition in the
message that was finally displayed.
Fixes #7498
2014-05-23 21:05:42 +05:30
James Cammarata
1e672a0fec
Fixes for su on freebsd
...
Addresses multiple issues when using su on freebsd including
* su prompt differs between platforms, so turned that check into a
regex comparison instead of a simple string comparison
* not using '-c' after su causes problems, so added that for all
platforms
* fixed quoting issues due to multiple uses of '-c' introduced by
the above fix
Fixes #7503
Fixes #7507
2014-05-23 10:06:09 -05:00
James Cammarata
32628eef85
Merge pull request #7481 from jimi-c/issue_7396_env_lookup
...
Don't use listify_ function, when all we want to do is template variable...
2014-05-21 15:02:35 -05:00
WAKAYAMA shirou
56880b76bb
fix UnicodeEncode error when using pause module with unicode prompt.
2014-05-22 00:21:14 +09:00
WAKAYAMA shirou
346bb611c7
fix UnicodeEncodeError when prompt is unicode.
2014-05-21 23:43:19 +09:00
James Cammarata
e36a8d466e
Don't re-query inventory when trimming failed/dark hosts
...
Since the filter list contains hosts, passing that back to list_hosts()
in the inventoy causes issues when the hostname is an IPv6 address
(with :'s interpreted as group unions). Since we already have the list
of hosts, we should not need to pass that back through inventory a
second time.
Fixes #7446
2014-05-20 14:58:37 -05:00
James Cammarata
365bfd732e
Don't use listify_ function, when all we want to do is template variables
...
This was causing a bug in the env module, due to the fact that we now
pass variables for the module through the templating engine combined
with the fact that we split-up the hostvars and setup variables. As a
result, if a variable in the env lookup had the same name as the variable
in Ansible, it would try and template itself over and over again until
the recursion limit would be hit, at which time an empty string was
returned.
Fixes #7396
2014-05-20 13:39:23 -05:00
James Cammarata
0ac74aaf59
Also set the environment variables when resetting the locale to C
2014-05-19 23:22:46 -05:00
James Cammarata
1f0be3753d
Merge pull request #7412 from bellkev/fix_skip_dir_inventory_extensions
...
Fix skip dir inventory extensions
2014-05-19 23:14:22 -05:00
James Cammarata
d44ed533b3
Default use_proxy to True for fetch_url()
...
Also added some error handling to the fetch_url() call in the
apt_repository module, so that failures to look up the PPA info
are properly handled.
Fixes #7322
2014-05-19 23:04:13 -05:00
James Cammarata
08406c0ee2
Adding the capability to proxy the ssl cert check
...
The ssl cert check will now respect the http and https proxy
environment settings. The url may also have the username/password
embedded, in which case basic auth will be used to connect to the
proxy server.
Fixes #7413
2014-05-19 16:00:32 -05:00
Matt Martz
0e953c2863
Add run_once task key
...
This caused the task to act like bypass host loop plugin and
execute only on a single host. Can be used with delegate_to
2014-05-19 12:33:47 -05:00
James Cammarata
285d9878ae
Reset locale to 'C' if the specified one is invalid
...
Fixes #7448
2014-05-19 10:26:06 -05:00
Kevin Bell
92bd755b47
Fixed extension filtering in InventoryDirectory
2014-05-14 23:43:14 -07:00
James Cammarata
df877f2e79
Check module_path permissions when creating ssh_wrapper for git
...
If the module directory is not writable/executable to the current user
(most likely because of a sudo to a non-root user), the ssh_wrapper
will be created in the default location for mkstemp() calls. To facilitate
the deletion of these new files, a new mechanism for cleaning up files
created by the module was also added.
Fixes #7375
2014-05-14 21:22:22 -05:00
Michael DeHaan
3b8a35d65e
Merge pull request #7406 from specnazzz/fix-python24
...
Fix known_hosts.py to work on older versions of python
2014-05-14 18:31:27 -04:00
James Cammarata
79731ce491
Evaluate changed_when only if task is not skipped
...
Fixes #7405
2014-05-14 16:04:37 -05:00
Michal Mach
60451c20ab
Fix known_hosts.py to work on older versions of python
2014-05-14 22:36:32 +02:00
James Cammarata
7faecd54b0
Merge pull request #7388 from jimi-c/issue_7384_vars_files_include
...
Pass vars_files on to included playbooks too
2014-05-14 14:52:33 -05:00
James Cammarata
a9311a5dcb
Merge branch 'file_new_dirs_perms' of https://github.com/bcoca/ansible into bcoca-file_new_dirs_perms
2014-05-14 13:53:08 -05:00
James Cammarata
56515a38d5
Only chown on atomic move if the uid/gid don't match the src/tmp file
...
This is a corner case for remote file systems that don't support
chown() and where the source and destination for the atomic_move
are on that remote file system.
Fixes #7372
2014-05-14 09:59:12 -05:00
James Cammarata
525e7339ed
Merge branch 'pass-basedir-to-runner-on-setup' of https://github.com/ByteInternet/ansible into ByteInternet-pass-basedir-to-runner-on-setup
2014-05-14 09:46:47 -05:00
James Cammarata
85bd6810bb
Pass vars_files on to included playbooks too
...
Fixes #7384
2014-05-14 08:37:47 -05:00
Allard Hoeve
c5833f9869
Add missing basedir to Runner in _do_setup_step
2014-05-14 15:22:02 +02:00
James Cammarata
360ffc4dfd
Properly merge role conditionals in with pre-existing conditionals
...
Fixes #7387
2014-05-14 01:45:35 -05:00
James Cammarata
187619c7fe
Use utils.combine_vars on vars_files data
...
Fixes #7345
2014-05-13 11:24:41 -05:00
James Cammarata
809b931640
Merge pull request #7382 from jimi-c/issue_7366_synchronize_inventory_dir
...
Do not base synchronize source on the inventory directory
2014-05-13 11:05:19 -05:00
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