Commit graph

5242 commits

Author SHA1 Message Date
James Cammarata
f904acbd14 Fixing bug related to listify changes 2015-08-11 01:33:43 -04:00
James Cammarata
169d316704 Fixing bugs in include + loops
Fixes #11872
2015-08-11 01:33:43 -04:00
Brian Coca
7666bde666 updated hashi_vault to new listify, added to changelog 2015-08-10 21:10:00 -04:00
Brian Coca
4399ddc7da Merge pull request #11674 from defionscode/hashi_vault_lookup
Hashicorp Vault lookup Plugin
2015-08-10 21:07:22 -04:00
Jonathan Davila
175068fdae Hashicorp Vault lookup Plugin 2015-08-10 19:35:28 -04:00
Brian Coca
7e7b546c34 reinstated listify 2015-08-10 17:38:20 -04:00
Brian Coca
3e5dbd045f fixed ref to removed var 2015-08-10 14:02:42 -04:00
Brian Coca
5c1d850fbb now fixed to actually work 2015-08-10 13:51:56 -04:00
Brian Coca
ee365c881f fixed typo 2015-08-10 13:44:52 -04:00
Brian Coca
c08305a31f set script command itself to be sudable and not use the chmod sudoable settings as it can
ignore sudo settings for script when become_user is not root
fixes #11902
2015-08-10 13:19:37 -04:00
Toshio Kuratomi
d35b956900 listify lookup plugin terms when they're specified as "{{ lookup(terms) }}"
Before this, they were not listified there but they were listified when
specified like this:

with_lookup: terms
2015-08-10 09:07:37 -07:00
Brian Coca
dbab703265 fine tuned password handling as we were getting false positives, probably caused by other changes up the stack that now call these functions in more cases. 2015-08-07 16:27:25 -04:00
Brian Coca
6fcfebd21d made sure we need becoem before we format the command, added debug entry also 2015-08-07 16:27:25 -04:00
Brian Coca
df768e0db4 fixed debug statement 2015-08-07 16:27:25 -04:00
Brian Coca
177499476b fixed warning 2015-08-07 16:27:25 -04:00
Toshio Kuratomi
3ef49844db Update core submodule ref 2015-08-07 12:28:56 -07:00
Brian Coca
8f106c9a58 Merge pull request #11078 from Yannig/devel
New lookup plugin : ini
2015-08-07 09:46:54 -04:00
Yannig Perré
07fcb50b9b Porting ini lookup plugin against ansible v2. 2015-08-07 09:40:24 +02:00
Toshio Kuratomi
f1144752c4 Pull in docs fix from core modules 2015-08-06 21:11:49 -07:00
James Cammarata
e7d0c9f820 Re-add vars to Base and standardize var processing
Fixes #11779
2015-08-07 00:06:30 -04:00
Brian Coca
dbe7a9fe2f Merge pull request #11857 from quinot/bug/playbook-init-comment
Minor comment fix
2015-08-06 23:39:08 -04:00
Brian Coca
3c57018a10 Merge pull request #11778 from Ensighten/add_credstash_plugin
add credstash lookup plugin
2015-08-06 23:27:18 -04:00
Brian Coca
d47d0b1d7f now continue/abort mode allows ignoring other input 2015-08-06 22:16:30 -04:00
Brian Coca
a555a0652e allow for vars_prompt and pause prompt to be skipped in non interactive settings
ansible-pull users rejoice
2015-08-06 19:20:45 -04:00
Toshio Kuratomi
ce52fdebe8 Pull in get_url checksum change 2015-08-06 15:45:23 -07:00
Brian Coca
29cd72b7d8 even simpler condition tree for pause 2015-08-06 18:40:15 -04:00
Brian Coca
dc80bc8929 now pause behaves like v1 pause 2015-08-06 18:09:59 -04:00
Brian Coca
f7707d8850 brought user_input back to pause 2015-08-06 17:49:14 -04:00
Toshio Kuratomi
00b1a2c865 Restore ValueError in md5 method and change finding the available hash algorithms so we only have to do it once 2015-08-06 14:40:28 -07:00
Brian Coca
15a20e814b added tags back to ansible-pull 2015-08-06 17:37:05 -04:00
Brian Coca
5f0359c119 keep banners at 79 2015-08-06 17:37:05 -04:00
Brian Coca
25e67bb716 text wrap now adapts to terminal 2015-08-06 17:37:05 -04:00
Toshio Kuratomi
80cb69214b Merge pull request #11840 from muffl0n/module_utils_hash_algorithms
Add get_available_hash_algorithms()
2015-08-06 14:29:31 -07:00
James Cammarata
d44daf53cc Allow wrapped text in deprecated messages 2015-08-06 17:21:02 -04:00
James Cammarata
5eb092b331 Handle top-level vars for include tasks to match v1 syntax
The "streamlined" syntax will be deprecated at some point in the future.

Fixes #11882
2015-08-06 17:21:02 -04:00
Toshio Kuratomi
e16b24c01e Update submodule ref 2015-08-06 08:45:09 -07:00
Toshio Kuratomi
e8452c864e Restore the relative path handling portion of #11865 2015-08-06 07:28:22 -07:00
James Cammarata
26d5a17b59 Make sure inventory loads files with non-relative paths
This is a slightly different fix than we originally committed, but fixes
the problem in a less invasive way (and I believe it's generally better
that we don't deal with relative paths internally past this point)

Fixes #11789
2015-08-06 10:18:58 -04:00
Brian Coca
b9433650d1 Revert "Path of group_vars and host_vars were getting the basedir added twice."
in view of simpler solution incomming from james
This reverts commit bae7a02be5.
2015-08-06 10:09:43 -04:00
Brian Coca
9f156e5550 updated submodule refs 2015-08-06 09:42:35 -04:00
Brian Coca
7bea04141b Merge pull request #11865 from ansible/fix-group_vars_path
Path of group_vars and host_vars were getting the basedir added twice.
2015-08-06 09:40:13 -04:00
Brian Coca
08e6c1d82b avoid possible errors with new broadcast handling in linux 2015-08-06 09:00:52 -04:00
Brian Coca
cb2cfaebda started porting chroot to v2 2015-08-06 08:55:22 -04:00
Brian Coca
262c75c253 Merge pull request #10971 from mightydok/debbraoadcastfix
Add missed broadcast address to linux network facts.
2015-08-06 08:52:55 -04:00
Scott Cunningham
87ef53c962 credstash lookup plugin: python 2.6-compatible string.format() 2015-08-05 23:40:43 -07:00
Scott Cunningham
c4629b72e0 credstash lookup plugin: error out in run function when credstash not installed, not at module scope 2015-08-05 23:37:10 -07:00
Toshio Kuratomi
bae7a02be5 Path of group_vars and host_vars were getting the basedir added twice.
Fix inventory so this won't happen and fix DataLoader so that it will
test relative paths relative to self._basedir

Fixes #11789
2015-08-05 17:41:17 -07:00
Toshio Kuratomi
e7b5cb8782 Fix synchronize source path with roles and local connection
Fixes #8261
2015-08-05 13:32:12 -07:00
Toshio Kuratomi
dd7fa07038 Update submodule refs so synchronize plugin works 2015-08-05 13:19:28 -07:00
Toshio Kuratomi
308bf80055 Cleanups to synchronize including:
* Better comments
* Reorganize code so related settings are close to each other
* Add ::1 to the "localhost" patterns we look for
* Make the dest_port parameter override the ansible_ssh_port setting
* Fix dest_port (wasn't being set)
* more complete detection of delegate_to
* Fix set_remote_user (wasn't being looked for in parameters)
* Instead of removing mode here, have the ansible module accept it
  (better documents the parameters doing it htat way)
2015-08-05 13:16:08 -07:00
James Cammarata
37e38924de Allow field attributes to have priorities
So that roles are loaded ahead of all other play fields, meaning any
plugins contained within the roles are loaded first before tasks.

Fixes #11858
2015-08-05 13:54:00 -04:00
Jon Hawkesworth
f69da544f7 add win_basename and win_dirname filters 2015-08-05 18:38:15 +01:00
James Cammarata
fad44862a5 Implementing includes in the free strategy 2015-08-05 11:53:04 -04:00
Brian Coca
2b9b3a08a1 make sure you only update pci data if there is a match 2015-08-05 09:44:37 -04:00
Yannig Perré
09d257e637 Porting ini lookup plugin against ansible v2. 2015-08-05 12:07:16 +02:00
Thomas Quinot
5d3cb636ad Minor comment fix 2015-08-05 11:30:26 +02:00
Yannig Perré
47db352725 Merge remote-tracking branch 'ansible/devel' into devel 2015-08-05 11:20:41 +02:00
Yannig Perré
733d40a77c When value does not exist, return default value instead of stopping ansible with an exception. 2015-08-05 10:54:24 +02:00
James Cammarata
faf4c3bb6c Merge pull request #11816 from amenonsen/ssh-ipv6
Fix ssh connections to IPv6 addresses
2015-08-05 00:10:34 -04:00
James Cammarata
dbd755e0f4 Fix jinja2 template search pathing
Fixes #9933
2015-08-04 22:50:16 -04:00
Scott Cunningham
934ce86d35 update credstash lookup plugin to use Python 2.4-compatible exception catching 2015-08-04 18:29:37 -07:00
James Cammarata
61e76fd707 Allow conditionals on PlaybookInclude statements
Fixes #11852
2015-08-04 15:24:28 -04:00
James Cammarata
b6c3e5d797 Validate variable names given in set_fact
Fixes #11851
2015-08-04 13:30:47 -04:00
James Cammarata
5266679964 Use templar all the way down
Fixes bugs related to creating Templar() objects on the fly, where
the shared loader objects (serialized to TaskExecutor) aren't used
so information loaded into plugin loaders after forking is lost.

Fixes #11815
2015-08-04 12:25:53 -04:00
muffl0n
8d6d711a5c move get_available_hash_algorithms() from get_url 2015-08-04 08:57:36 +02:00
James Cammarata
c3ce140dd2 Exclude loop_args from post_validation for tasks
This field is templated specially during the TaskExecutor's loop
calculation, so there's no need to post validate it again.

Fixes #11481
2015-08-04 01:12:27 -04:00
Brian Coca
015b922c1f fix quoting for become commands
fixes #11808
2015-08-03 18:49:23 -04:00
Toshio Kuratomi
ca941ec632 style cleanup because -ECANNOTUNDERSTAND without it 2015-08-03 15:05:26 -07:00
Toshio Kuratomi
f86245dcb0 Add a warning about python3 in the synchronize plugin 2015-08-03 15:05:26 -07:00
Toshio Kuratomi
f0431eaea9 Make ansible_python_interpreter work with synchronize
Fixes #11836
2015-08-03 13:32:24 -07:00
James Cammarata
8279557e8f Allow role names to be templated
Fixes #10858
2015-08-03 16:26:13 -04:00
James Cammarata
ed603f7030 Fix free strategy only running first play in a multi-play playbook
Fixes #11839
2015-08-03 14:40:16 -04:00
James Cammarata
c2435fab7e Inject the play context vars into the variables used for loop item templating 2015-08-03 12:12:45 -04:00
James Cammarata
bcbcfc79be Fix relative paths for included files
Also modifies the Play class to not include become* fields in the
post-validation step.

Fixes #11353
2015-08-03 12:04:31 -04:00
James Cammarata
2673eb0afb Add option to fail on undefined variables to listify
And use it in the call to get the loop items for a task.
2015-08-03 12:04:31 -04:00
James Cammarata
a586c74967 Merge pull request #11838 from cchurch/stringify_powershell_unquote_value
Fix for PowerShell unquote method when passed None.
2015-08-02 22:57:27 -04:00
James Cammarata
f6d1b5e233 Merge pull request #11835 from cchurch/raw_is_not_raw_enough
Raw is not raw enough
2015-08-02 22:56:45 -04:00
James Cammarata
7b9aee7077 Merge pull request #11832 from amenonsen/zeroforks
Disallow --forks 0
2015-08-02 22:39:21 -04:00
Chris Church
cafc35fd5b Fix for PowerShell unquote method when passed None. 2015-08-02 18:38:29 -04:00
Abhijit Menon-Sen
7d9689c1c5 Slice ascii_letters directly instead of using 'for x in range()' 2015-08-02 23:47:18 +05:30
Abhijit Menon-Sen
bfe708a189 Make host range parsing errors issue better messages
Now we always say "host range must …specific thing…"
2015-08-02 23:47:18 +05:30
Abhijit Menon-Sen
1413496292 Implement step for alphabetic ranges: [a:e:2] => a,c,e 2015-08-02 23:47:18 +05:30
Abhijit Menon-Sen
72715c6add Fix ssh connections to IPv6 addresses
We can unconditionally wrap remote_addr in square brackets for scp and
sftp (both of which require them for IPv6 addresses), but not wrap them
at all for ssh (which doesn't accept them). This way, we don't have to
detect and treat IPv6 addresses specially. This works for hostnames,
IPv4 addresses, and IPv6 addresses.

The earlier code seemed to intend to wrap all IPv6 addresses in square
brackets, which would have broken ssh, but it actually made no attempt
to detect IPv6 addresses at all (so it broke only with IPv6 addresses
for scp and sftp).

Based on a review of PR #11677 by @JuiceBoxSingularity
2015-08-02 23:46:01 +05:30
Chris Church
6969b5ac8b Make sure raw doesn't eat key=value arguments. 2015-08-02 11:57:32 -04:00
Abhijit Menon-Sen
861da614cc Make 'pause: prompt=…' print the prompt
In stable-1.9, the prompt string is passed to raw_input(), which prints
it without an extra \n. Here we're just print()ing it, so the \n would
be doubled.
2015-08-02 20:08:28 +05:30
James Cammarata
9936c5f9f6 Fixing the pause module for devel 2015-08-02 09:29:13 -04:00
Abhijit Menon-Sen
8de70fa657 Disallow --forks 0
Without at least one worker process, things break:

Traceback (most recent call last):
  File "/home/ams/extern/ansible/ansible/lib/ansible/executor/process/result.py", line 103, in run
    result = self._read_worker_result()
  File "/home/ams/extern/ansible/ansible/lib/ansible/executor/process/result.py", line 69, in _read_worker_result
    (worker_prc, main_q, rslt_q) = self._workers[self._cur_worker]
IndexError: list index out of range
2015-08-02 14:10:45 +05:30
Toshio Kuratomi
cf35bdbdf9 Merge pull request #11827 from amenonsen/trivial-fixmes
Remove TODO: the play already overrides options
2015-08-01 07:40:15 -07:00
Abhijit Menon-Sen
a9b020d6de Remove TODO: the play already overrides options 2015-08-01 20:09:02 +05:30
Abhijit Menon-Sen
1f2adb5e14 Show a better message when ansible.cfg is not found
Earlier we would say «Using  as config file» if we didn't find one.
2015-08-01 19:44:20 +05:30
Abhijit Menon-Sen
2cb7cd8379 Remove outdated FIXME; _compute_delegate is called below 2015-08-01 09:35:32 +05:30
Abhijit Menon-Sen
7b3cb2126c Remove outdated FIXME; ROLE_CACHE is already implemented below 2015-08-01 09:34:32 +05:30
Toshio Kuratomi
91a77b8603 Fix potential bug in parameter passing 2015-07-31 20:35:01 -07:00
James Cammarata
13b8a57d3d Undo previous travis/tox fixes and fix underlying issue 2015-07-31 23:01:43 -04:00
Toshio Kuratomi
0d72be3953 become protection for local connections no longer needed 2015-07-31 18:26:30 -07:00
Toshio Kuratomi
d1933accc3 Fixes for synchronize with delegate_to 2015-07-31 17:41:41 -07:00
Toshio Kuratomi
3939348286 Fix HostVars to support containment tests 2015-07-31 13:58:09 -07:00
Chris Church
74df17de29 Add an option for PowerShell modules to indicate support for check mode, skip running module if check mode is not supported. 2015-07-31 14:48:51 -04:00
Chris Church
e87cf4a3cc Fixes for WinRM/PowerShell support in v2.
- Add support for inserting module args into PowerShell modules.  Fixes #11661.
- Support Windows paths containing spaces.  Applies changes from #10727 to v2.  Fixes #9999.  Should also fix ansible/ansible-modules-core#944 and ansible/ansible-modules-core#1007.
- Change how execution policy is set for running remote scripts.  Applies changes from #11092 to v2.  Also fixes ansible/ansible-modules-core#1776.
- Use codepage 65001 (UTF-8) for WinRM connection instead of default (CP437), convert command to UTF-8 and results from UTF-8.  Replaces changes from #10024.  Fixes #11198.
- Close WinRM connection when task completes.
- Use win_stat, win_file and win_copy modules instead of stat, file and copy when called from within other action plugins (only when using WinRM+PowerShell).
- Unquote Windows path arguments before passing to win_stat, win_file, win_copy and slurp modules (only when using WinRM/PowerShell).
- Check for win_ping module to determine if core modules are missing (only when using WinRM/PowerShell).
- Add stdout_lines to result from running low level commands (so stdout_lines is available when using raw/script).
- Update copy action plugin to use shell functions for joining paths and checking for trailing slash.
- Update fetch action plugin to unquote source path when using Windows paths.
- Add win_copy and win_template action plugins that inherit from copy and template.
- Support running .bat and .cmd scripts using default system encoding instead of UTF-8.
- Always send PowerShell commands as base64-encoded blobs to allow for running simple PowerShell commands via raw.
- Support running modules on Windows with interpreters other than PowerShell.
- Update integration tests to support above changes and test unicode fixes.
- Add test for win_user error from ansible/ansible-modules-core#1241 (fixed by ansible/ansible-modules-core#1774).
- Add test for additional win_stat output values (implemented by ansible/ansible-modules-core#1473).
- Add test for OS architecture and name from setup.ps1 (implemented by ansible/ansible-modules-core#1100).

All WinRM integration tests pass for me with these changes.
2015-07-31 14:38:31 -04:00
Brian Coca
fa8043c0ba corrected typo 2015-07-31 13:49:48 -04:00
Brian Coca
f16b745f17 now properly uses default port if defined 2015-07-31 12:01:58 -04:00
Brian Coca
496186f5de makes ssh plugin resilient against invalid entries in hosts file
fixes #10238
2015-07-31 12:01:58 -04:00
Mark Chance
437d4deffc change ec2 util to create only requested objects 2015-07-31 09:47:24 -06:00
Toshio Kuratomi
e349004325 Update submodule ref to pull in apt_repo fixes 2015-07-31 08:22:48 -07:00
Jonathan Süssemilch Poulain
02294c52ce Typo 2015-07-31 13:25:42 +02:00
Jonathan Süssemilch Poulain
4614a574ea Allows network network interface facts collection as an unprivileged user and adds more facts 2015-07-31 10:39:02 +02:00
Jonathan Süssemilch Poulain
e181bcf62b Allows to fetch machine architecture as an unprivileged user 2015-07-31 10:35:10 +02:00
Brian Coca
9aa4214417 fixed delegate_to ref in syncronize 2015-07-30 20:53:18 -04:00
Brian Coca
8a00dff989 updated submodule refs 2015-07-30 18:37:41 -04:00
Brian Coca
07e5e98cbf removed jinaj2 override restrictions 2015-07-30 16:53:39 -04:00
Brian Coca
113f709eac brought up to date with default 2015-07-30 16:53:38 -04:00
Brian Coca
51de207197 Merge pull request #11805 from amenonsen/trivial-fixmes
A series of trivial FIXMEs for devel
2015-07-30 16:40:17 -04:00
Scott Cunningham
193e857bc4 credstash lookup plugin: raise AnsibleError when credstash library not installed 2015-07-30 21:04:26 +01:00
James Cammarata
222f04e387 Submodule pointer update 2015-07-30 14:50:53 -04:00
Abhijit Menon-Sen
807079ec2f Remove outdated FIXME; HostVars is imported and used below 2015-07-31 00:09:49 +05:30
Brian Coca
d05c4b82aa Merge pull request #11803 from amenonsen/prompt_encrypt
Uncomment encrypt handling for vars_prompt
2015-07-30 14:21:32 -04:00
Abhijit Menon-Sen
845784b572 Remove outdated FIXMEs; all use combine_vars already 2015-07-30 23:47:41 +05:30
James Cammarata
efcad3aa6d Re-allow vars on tasks, specifically for includes 2015-07-30 14:14:49 -04:00
James Cammarata
0ad52a403f Merge pull request #11804 from amenonsen/fixme
Easy FIXMEs
2015-07-30 13:58:40 -04:00
Abhijit Menon-Sen
1541e331c9 Also fix UTF-8 handling in vars_prompt 2015-07-30 23:27:39 +05:30
James Cammarata
549c204051 Submodule pointer update 2015-07-30 13:48:09 -04:00
Abhijit Menon-Sen
694d2103b1 Remove outdated FIXME code
This is already handled in PlayContext.set_options.
2015-07-30 23:12:06 +05:30
Abhijit Menon-Sen
ff2d160fff Correct invalid reference to global display 2015-07-30 22:52:47 +05:30
Abhijit Menon-Sen
10def3aa54 Uncomment encrypt handling for vars_prompt 2015-07-30 22:42:21 +05:30
Brian Coca
b2dc66c7ea now check stderr also on become for ssh plugin for the cases where sudo or su do not want to prompt/echo on stdin
fixes #11796
2015-07-30 13:11:41 -04:00
Brian Coca
17f659a143 added some debug to galaxy 2015-07-30 12:35:27 -04:00
Brian Coca
29bc8f51d7 made tags display closer to v1 2015-07-30 12:35:27 -04:00
Brian Coca
b37be236d9 Merge pull request #11475 from nibalizer/cfacter_support
Use cfacter instead of facter if possible
2015-07-29 22:46:21 -04:00
Abhijit Menon-Sen
3d581e5306 Don't stat None
Fixes #11794, regression introduced by #11010
2015-07-30 08:02:27 +05:30
Brian Coca
527ae360b0 Merge pull request #10652 from vodik/nspawn
Support querying systemd container information
2015-07-29 21:51:58 -04:00
Brian Coca
4b8e368039 Merge pull request #11010 from sillydong/devel
Add judgment to to fix path0 if ANSIBLE_CONFIG is set to a dir
2015-07-29 21:36:07 -04:00
Brian Coca
0e77871426 fixed non ignore errors path to actually interrupt
fixed cases where missing/inaccessible file gave exception, now you get nice error
2015-07-29 20:13:17 -04:00
Brian Coca
8153c34abf now returns false on bad role_data 2015-07-29 19:48:21 -04:00
Brian Coca
e81ec32719 made galaxy more resilient with bad yaml files and comments/spaces in non yaml files
fixes #10641
2015-07-29 19:28:29 -04:00
Joseph Callen
2f5ced8856 Moving VMware Utilites module
Moved `vmware.py` from v1 to `lib/ansible/module_utils/vmware.py`.

No other changes has been made since these two PRs:
https://github.com/ansible/ansible/pull/10812
https://github.com/ansible/ansible/pull/10760
2015-07-29 17:16:15 -04:00
Brian Coca
ced93d35ca adjusted list hosts across adhoc and playbook cli 2015-07-29 15:46:13 -04:00
James Cammarata
3a50c08c01 Merge branch 'pluggable_jinja_tests' of https://github.com/quixoten/ansible into quixoten-pluggable_jinja_tests 2015-07-29 15:16:27 -04:00
James Cammarata
782c2f75df Make sure role deps inherit conditionals/tags specified via params
Fixes #7353
2015-07-29 14:49:08 -04:00
Brian Coca
bedfe00de8 Merge pull request #11336 from saada/patch-1
Update Vault rekey() in vault.py to validate files passed before input
2015-07-29 12:52:14 -04:00
Toshio Kuratomi
4f1d365a25 Merge pull request #11783 from ansible/synchronize-fix
Synchronize in wasn't running on localhost in the default case which …
2015-07-29 09:33:01 -07:00
Toshio Kuratomi
088682f518 Synchronize in wasn't running on localhost in the default case which meant that rsync was run on the wrong host.
Fixes #11649
2015-07-29 09:10:24 -07:00
Mahmoud Saada
ddd46f6599 Update rekey() in vault.py to validate files passed exist before prompting for password 2015-07-29 09:03:15 -07:00
Brian Coca
0784fa1765 removed import q 2015-07-29 11:00:04 -04:00
Brian Coca
96bcf50a94 implemented requirements file in v2
fixes #11179
2015-07-29 10:59:33 -04:00
James Cammarata
71867f9480 Remove vars attribute from base
Fixes #11779
2015-07-29 09:45:30 -04:00
Scott Cunningham
695e456cb0 add credstash lookup plugin 2015-07-29 11:18:13 +01:00
Brian Coca
132c14eb57 indented hosts 2015-07-28 22:31:40 -04:00
Brian Coca
c0c094c413 now all --list options are working! 2015-07-28 22:30:59 -04:00
Brian Coca
884435a1aa minor cosmetic changes to list options 2015-07-28 22:14:41 -04:00
Brian Coca
056602c424 rearranged --list- options, now they are consolidated when used toghether, less loops, more concise output
list-hosts works
list-tasks works, but needs better task naming (missing role info)
list-tags only shows play tags
2015-07-28 22:05:49 -04:00
Brian Coca
cc85473c1e show role search path when not finding a role
fixes #9770
2015-07-28 19:07:47 -04:00
James Cammarata
42cfacf83b Switch up the task/host overrides for PlayContext to use the compiled vars dict
Fixes #11436
2015-07-28 16:25:44 -04:00
Brian Coca
a8b2b5b0c9 avoids printing blank diffs
fixes #10147 fixes #9471
2015-07-28 15:47:52 -04:00
James Cammarata
5cf2781528 A little more cleanup regarding _compute_environment_string 2015-07-28 15:34:10 -04:00
James Cammarata
467432bef5 Fix incorrect module path for AnsibleError in action plugin base 2015-07-28 15:25:25 -04:00
Brian Coca
f4a997db49 added back but stderr, which was the original itnention 2015-07-28 14:36:06 -04:00
Brian Coca
3b9282fb90 fixed dupe output in raw/command cases 2015-07-28 14:31:49 -04:00
Brian Coca
a78fdde32c better handling for weird doc corner cases (abscense of options, bad text objects, etc)
also updated extras to get some docfixes on the module side
2015-07-28 14:30:46 -04:00
Brian Coca
17103dd4cc update submodule refs 2015-07-28 13:08:05 -04:00
Brian Coca
6cdee94c33 added missing skipped item function to base 2015-07-28 11:02:25 -04:00
Brian Coca
6f93d228f6 made item output closer to v1 2015-07-28 10:59:39 -04:00
Brian Coca
4f9d719b14 removed debug 2015-07-28 10:43:11 -04:00
Brian Coca
d78c2fc212 now reports per task item 2015-07-28 10:41:40 -04:00
James Cammarata
2d90cbf78b Properly fail results with rc != 0
Fixes #11769
2015-07-28 10:15:14 -04:00
Brian Coca
787a0c4e04 fixed indent issues 2015-07-28 10:10:21 -04:00
Vilmos Nebehaj
58cccce384 Use PBKDF2HMAC() from cryptography for vault keys.
When stretching the key for vault files, use PBKDF2HMAC() from the
cryptography package instead of pycrypto. This will speed up the opening
of vault files by ~10x.

The problem is here in lib/ansible/utils/vault.py:

    hash_function = SHA256

    # make two keys and one iv
    pbkdf2_prf = lambda p, s: HMAC.new(p, s, hash_function).digest()

    derivedkey = PBKDF2(password, salt, dkLen=(2 * keylength) + ivlength,
                        count=10000, prf=pbkdf2_prf)

`PBKDF2()` calls a Python callback function (`pbkdf2_pr()`) 10000 times.
If one has several vault files, this will cause excessive start times
with `ansible` or `ansible-playbook` (we experience ~15 second startup
times).

Testing the original implementation in 1.9.2 with a vault file:

In [2]: %timeit v.decrypt(encrypted_data)
1 loops, best of 3: 265 ms per loop

Having a recent OpenSSL version and using the vault.py changes in this commit:

In [2]: %timeit v.decrypt(encrypted_data)
10 loops, best of 3: 23.2 ms per loop
2015-07-28 14:51:36 +02:00
Brian Coca
77fc3ce759 removed unused import 2015-07-28 08:28:52 -04:00
Lukas Pirl
d9aa14feea fixes remote code execution for su/sudo and strict remote umasks
* temporarily changes umask for creating temporary directories
    * otherwise parent directories may not get chmod'ed and end up
      unreadable
refs #9902
2015-07-28 19:24:23 +12:00
Brian Coca
80ecab5317 Merge pull request #11761 from amenonsen/9843-rebase
Add pciid to LinuxNetwork interface fact
2015-07-27 22:20:04 -04:00
Hugh Saunders
f344ec463f Add LVM facts to setup module
This commit adds LinuxHardware.get_device_facts() and calls that from
.populate().

LVM facts are only gathered if the setup module is running as root and
the lvm utilities are available (tested by searching for 'vgs').

If the conditions are met, facts are set for each volume group and
logical volume.

Example:

Test LVM Data:
$ sudo vgs
  VG   #PV #LV #SN Attr   VSize VFree
  test   1   2   0 wz--n- 5.00g 2.00g
$ sudo lvs
  LV      VG   Attr      LSize Pool Origin Data%  Move Log Copy%  Convert
  testlv  test -wi-a---- 1.00g
  testlv2 test -wi-a---- 2.00g

Facts Returned:
$ ansible localhost -i /tmp/inv -m setup -a 'filter=ansible_lvm'
localhost | success >> {
    "ansible_facts": {
        "ansible_lvm": {
            "lvs": {
                "testlv": {
                    "size_g": "1.00",
                    "vg": "test"
                },
                "testlv2": {
                    "size_g": "2.00",
                    "vg": "test"
                }
            },
            "vgs": {
                "test": {
                    "free_g": "2.00",
                    "num_lvs": "2",
                    "num_pvs": "1",
                    "size_g": "5.00"
                }
            }
        }
    },
    "changed": false
}

Test as non-root:
$ ansible localhost -i /tmp/inv-user -m setup -a 'filter=ansible_lvm'
localhost | success >> {
    "ansible_facts": {},
    "changed": false
}

Test without lvm utilities available
$ sudo mv /sbin/vgs{,.bk}
$ ansible localhost -i /tmp/inv -m setup -a 'filter=ansible_lvm'
localhost | success >> {
    "ansible_facts": {},
    "changed": false
}
2015-07-28 07:46:01 +05:30
Brian Coca
5f8db9cd4b changed verbose_override to the new _ansible_verbose_override to keep in line with previous changes
output now defaults back to having indent=4
2015-07-27 22:15:44 -04:00
Trapier Marshall
250620f2ab Add pciid to LinuxNetwork interface fact
This commit adds pciid to the LinuxNetwork fact object.

pciid is gathered if the symlink /sys/class/net/*/device exists.

Example [>>>> emphasis <<<<]:

$ readlink /sys/class/net/eth0/device
../../../0000:01:00.0

$ ansible localhost --ask-pass -i /tmp/hosts -m setup -a "filter=ansible_eth0"
SSH password:
localhost | success >> {
    "ansible_facts": {
        "ansible_eth0": {
            "active": false,
            "device": "eth0",
            "macaddress": "0c:d2:92:5d:6e:8e",
            "module": "alx",
            "mtu": 1500,
       >>>> "pciid": "0000:01:00.0", <<<<
            "promisc": true,
            "type": "ether"
        }
    },
    "changed": false
}
2015-07-28 07:30:03 +05:30
Brian Coca
8746e692c1 changed check to allow for powerpc
fixes #11528
2015-07-27 21:44:17 -04:00
Brian Coca
0c21196633 moved openvz inventory script to new home 2015-07-27 20:53:53 -04:00
Brian Coca
164092a835 optimized module docs 2015-07-27 20:52:53 -04:00
Brian Coca
2575e1540a Merge pull request #11740 from amenonsen/8602-rebase
Encrypt the vault file after editing only if the contents changed
2015-07-27 20:45:03 -04:00
Toshio Kuratomi
d2346fd2e2 Python2.4 compat fix 2015-07-27 15:34:51 -07:00
James Cammarata
d6cafff2f9 Additional changes to fix fileglob relative path lookups 2015-07-27 16:35:57 -04:00
Toshio Kuratomi
6a68be4e28 Handle quoting of values in dict parameters 2015-07-27 12:31:05 -07:00
James Cammarata
cb262449c7 Reworking internal result flags and making sure include_vars hides vault data
Fixes #10194
2015-07-27 14:04:31 -04:00
James Cammarata
eebf437d87 Submodule pointer update 2015-07-27 12:51:58 -04:00
Brian Coca
b2b19a1dc4 Merge pull request #11751 from amenonsen/playwithoutbook
A better error message for «ansible playbook.yml»
2015-07-27 12:42:56 -04:00
James Cammarata
49a6601856 Further cleanup of internal use of ansible_ssh_host 2015-07-27 10:42:39 -04:00
James Cammarata
ee835ff7ad Add a base-level get_basedir method for lookup plugins and fix relative lookups
Fixes #11746
2015-07-27 10:41:28 -04:00
Abhijit Menon-Sen
65d62090c2 A better error message for «ansible playbook.yml»
This is a very conservative change: we add the hint only if we're
definitely going to die already.
2015-07-27 12:43:21 +05:30
James Cammarata
3a4dd523d3 Fix bug where we calculated the relative path of recurisive copies wrong
Fixes #11470
2015-07-27 02:29:38 -04:00
James Cammarata
a1a8997e89 Merge pull request #11663 from whereismyjetpack/fix_ansible_ssh_host
only set ansible_ssh_host if not already set
2015-07-26 23:46:21 -04:00
Brian Coca
a56ff7ae54 now it really is oneline 2015-07-26 23:14:07 -04:00
Brian Coca
5d1d9f1505 fixed diff output to be as it was in 1.x, copy and template now use the same
functions to do difs.
2015-07-26 22:29:56 -04:00
James Cammarata
c56a304ad9 Merge pull request #9195 from reedloden/add-dns-facts
Add several DNS-related facts by parsing /etc/resolv.conf
2015-07-26 14:59:55 -04:00
James Cammarata
ccb7fb3b4c Submodule pointer update 2015-07-26 14:41:49 -04:00
James Cammarata
034c766439 Fixing logic in template.py to not assume 'changed' is in the result 2015-07-26 13:57:25 -04:00
James Cammarata
a78ed39f93 Merge pull request #11743 from renard/regex_escape-filter
Regex escape filter
2015-07-26 13:52:01 -04:00
James Cammarata
db4b3544d7 Fix syntax error in action plugin template.py 2015-07-26 13:49:27 -04:00
Reed Loden
eb1fb41576 Add several DNS-related facts by parsing /etc/resolv.conf
Facts include nameservers, domain, search path, sortlist, and options.
2015-07-26 10:46:59 -07:00
Sébastien Gross
36534668f0 Change name from re_escape to regex_escape to fit existing function names. 2015-07-26 19:03:56 +02:00
Sébastien Gross
c1e4085251 Add regular expression escaping filter. 2015-07-26 19:03:27 +02:00
Brian Coca
0b6fadaad7 started implementing diff
diff now works with template
also fixed check mode for template and copy
2015-07-26 12:22:22 -04:00
Pablo Figue
f8bf2ba1bd Encrypt the vault file after editing only if the contents changed 2015-07-26 14:41:34 +05:30
James Cammarata
73aa5686cc Remove octal escapes from unicode escape handling
Fixes #11673
2015-07-25 16:30:11 -04:00
Brian Coca
5be384bab0 Merge pull request #11733 from amenonsen/csvfile
v2 breakage: lookupfile should lookup the given file=xxx
2015-07-25 11:53:22 -04:00
Brian Coca
b19eb0f4dc minor improvements to display 2015-07-25 09:15:33 -04:00
Abhijit Menon-Sen
8737061a8f lookupfile should lookup the given file=xxx
(Earlier it used to lookup the pre-split term.)
2015-07-25 15:38:26 +05:30
James Cammarata
eca88d4253 Merge pull request #11732 from amenonsen/9212-rebase
Forbid copy: content="" with a directory destination
2015-07-25 02:47:19 -04:00
Mario de Frutos
4ed664f4d0 Forbid copy: content="" with a directory destination
Fixes #9107, closes PR #9212
2015-07-25 11:21:14 +05:30
Brian Coca
b9710b4a34 wrapped new system ssh key lookup in case file does not exist 2015-07-24 23:54:13 -04:00
Patrick Michaud
e4df8c3d36 Have paramiko use /etc/ssh_known_hosts
Fixes an issue with a confusing error: "paramiko: The authenticity of host '[host]' can't be established" when ssh on the command line doesn't complain

Closes PR #7730
2015-07-25 09:09:28 +05:30
Brian Coca
0858d97c44 also captures typeerrors for when not getting a proper string in output 2015-07-24 18:43:40 -04:00
Toshio Kuratomi
8ee3b7384d Guard the PROTOCOL setting so that we work on older pythons 2015-07-24 15:07:02 -07:00
Toshio Kuratomi
36382face9 Add a warning about mode being octal 2015-07-24 14:52:21 -07:00
James Cammarata
eccfb7e0b5 Adding initial support for includes in handlers
Fixes #11694
2015-07-24 16:22:02 -04:00
Brian Coca
7215470c6f implemented galaxy list in v2 2015-07-24 16:18:55 -04:00
Will Thames
9abd9a8f57 Make ansible-galaxy work with galaxy.ansible.com
Now works with role files that use Ansible Galaxy roles
Still work to do on making this work with internal roles
2015-07-24 16:04:10 -04:00
Brian Coca
cff77de917 added todo for future of feature 2015-07-24 12:00:38 -04:00
Brian Coca
0089eb8102 reimplemented logging based on log_path var 2015-07-24 12:00:38 -04:00
James Cammarata
ff49c5adac Make sure we're actually looping before looking at 'results' in TaskResult
Fixes #11696
2015-07-24 11:55:22 -04:00
James Cammarata
0fcd53e887 Make sure the command is sudoable before checking for the become password
Fixes #11714
2015-07-24 11:37:26 -04:00
James Cammarata
e526743b4f Allowing args: "{{some_var}}" for task params again
This is unsafe and we debated re-adding it to the v2/2.0 codebase,
however it is a common-enough feature that we will simply mark it
as deprecated for now and remove it at some point in the future.

Fixes #11718
2015-07-24 10:33:12 -04:00
Brian Coca
681eab1158 fix adhoc that broke with assuming step is always in options 2015-07-24 10:03:43 -04:00
Brian Coca
88e1ef8c9b implemented --step in v2 2015-07-23 20:47:40 -04:00
Brian Coca
3bf1edfd96 Merge pull request #11591 from defionscode/boto3
Connection function for boto3
2015-07-23 15:54:28 -04:00
James Cammarata
7bc789ba64 Properly template task names
Also fixes in the correct way the bug in which the role name was
incorrectly showing up twice in the task name.

Fixes #10347
2015-07-23 15:45:36 -04:00
James Cammarata
698479a623 Add config file info to --version output
Fixes #10348
2015-07-23 15:32:39 -04:00
James Cammarata
37ed756d66 Make sure role names are strings
Fixes #10497
2015-07-23 15:26:31 -04:00
Toshio Kuratomi
f8e4aff4c1 Cleanups:
* Don't reference __class__ when we can use the instance itself
* use isdisjoint() as it can stop once a match is found
* Remove a condtional that was taken care of in the conditonal just above
2015-07-23 12:13:45 -07:00
Brian Coca
4e3f5e3be6 Merge pull request #11708 from bcoca/display_me
adding display to plugins and start moving debug to display
2015-07-23 14:32:18 -04:00
Brian Coca
78df37db8a updated submodule refs 2015-07-23 13:44:47 -04:00
Brian Coca
a6ba149c49 implemented simplified output for adhoc adn command modules as in v1 2015-07-23 13:42:20 -04:00
James Cammarata
65ae9780fa Merge pull request #11079 from amegianeg/fix_broad_except_in_inventory
Avoid too broad except in Inventory
2015-07-23 13:36:02 -04:00
Toshio Kuratomi
e7733a7d3a Update submodule refs 2015-07-23 07:32:54 -07:00
Brian Coca
851ed45bbf adding display to plugins and start moving debug to display 2015-07-23 10:26:12 -04:00
Toshio Kuratomi
b06353791c Don't pass mode from synchronize action plugin to the ansible module
Fixes https://github.com/ansible/ansible-modules-core/issues/1783
2015-07-23 00:42:27 -07:00
Brian Coca
b678b9828c simplified and normalized lookup search path behaviour 2015-07-22 22:32:37 -04:00
James Cammarata
857f584ebf Merge pull request #11699 from ahamilton55/ah/delegate_variable
v2: Fixing delegate_to when using a variable
2015-07-22 22:15:54 -04:00
Brian Coca
b9050ecf18 fixed file lookup pathing in dwim functinos, now does specific paths and priorities and is commented
fixes #11672 as cwd is now not part of thos paths:
if full path is supplied, used that
2015-07-22 20:58:24 -04:00
Andrew Hamilton
7254b22bf4 Fixing delegate_to when using a variable 2015-07-22 17:12:00 -07:00
James Cammarata
d412bc72ef Fall back to paramiko if the smart detection fails to run ssh
Fixes #11695
2015-07-22 16:14:17 -04:00
James Cammarata
dfcf6a2016 Skip hosts with no state while iterating tasks in the linear strategy
Fixes #11693
2015-07-22 15:55:11 -04:00
James Cammarata
206ef27268 Add flag to template() so data is not converted to a datastructure
Fixes #11641
2015-07-22 15:05:51 -04:00
James Cammarata
7a9916422a Fixing up error handling for fetch_file ops in connection plugins
* enable batch mode (configurable with a config option, on by default)
  for sftp transfers, so we can catch errors more easily
* general cleanup in the local connection plugin and fetch action plugin

Fixes #11612
2015-07-22 14:25:47 -04:00
James Cammarata
4b6525fb58 Fix handler flushing to match how v1 worked
Also adds meta tasks to the list of tasks excluded from tag filtering

Fixes #11574
2015-07-22 11:21:38 -04:00
Toshio Kuratomi
d0dcf73716 Update module refs 2015-07-22 07:24:13 -07:00
James Cammarata
135404738e Fix a couple start-at-task issues
* added pattern matching to match v1 functionality
* check the task name, not the task+role name for matches
* make sure the input is unicode

Fixes #11692
2015-07-22 07:45:03 -04:00
James Cammarata
975172c1ef Make sure role name doesn't end up in task name more than once
Fixes #11691
2015-07-22 07:28:25 -04:00
James Cammarata
b09f1f8e0b Account for filters in bare variable conversion
Fixes #11530
2015-07-22 00:08:55 -04:00
Jeff Widman
52716c4dc7 Remove mention of 'apache example'
Removed explicit mention of 'apache'
2015-07-21 18:03:55 -07:00
ZviRackover
628925a77d Fix: add missing import 'locale' 2015-07-22 01:09:31 +03:00
James Cammarata
4c733fe4b7 Fix issues with vars_prompt and vars_files
* Prompt had to be moved up, as it needed to be done before the first
  templating of the play occurs, otherwise vars_files won't be templated
  properly
* Fixed a bug related to an earlier fix of vars_files incorporating
  extra vars to do the templating of the file name

Fixes #11404
2015-07-21 14:52:57 -04:00
Toshio Kuratomi
491a4f2a25 Update extras module pointer for docs fix 2015-07-21 11:21:58 -07:00
James Cammarata
adf1d4d9b9 Submodule pointer update 2015-07-21 14:03:27 -04:00
James Cammarata
66a8864ae9 Fix environment setting and inheritence
Fixes #11401
2015-07-21 13:57:30 -04:00
James Cammarata
91519d1696 Don't filter include tasks based on tags
Fixes #11320
2015-07-21 12:37:22 -04:00
James Cammarata
e64989beb4 Moving ConnectionInformation -> PlayContext
Also making PlayContext a child class of the Playbook Base class,
which gives it access to all of the FieldAttribute code to ensure
field values are correctly typed after post_validation

Fixes #11381
2015-07-21 12:13:50 -04:00
Brian Coca
827b0443c8 now dataloader checkis that you get at least a valid string as a file name 2015-07-21 08:47:13 -04:00
James Cammarata
7124504ccf Incorporate extra vars when templating vars_files
Fixes #11377
2015-07-21 02:10:26 -04:00
James Cammarata
b8b206005c Generalize extra variable parsing and loading
Fixes #11352
2015-07-21 00:18:35 -04:00
Dann Bohn
3e79bfa2d6 only set ansible_ssh_host if not already set 2015-07-20 15:43:55 -04:00
James Cammarata
3de6f264dd Fix bug where spaces in the $HOME directory broke things
Fixes #11332
2015-07-20 15:40:49 -04:00
James Cammarata
91a4b866b0 Fix ssh pipelining 2015-07-20 15:40:49 -04:00
Toshio Kuratomi
ddec06ccfe Detect the old python-json library
Fixes #11654
2015-07-20 12:35:26 -07:00
James Cammarata
5347db2952 Also check the play basedir for the role
Fixes #11328
2015-07-20 14:47:38 -04:00
James Cammarata
dca36c1d16 Reestablishing the use of tags/when for role duplication detection
Not figuring these in can cause problems with "diamond" pattern relationships,
even though this is still not quite optimal.
2015-07-20 14:37:20 -04:00
Toshio Kuratomi
a0a6d12b05 Merge pull request #11603 from ansible/get_url-tls-compat
Have openssl autonegotiate tls protocol on python < 2.7.9
2015-07-20 09:43:59 -07:00
Brian Coca
03d7c8d7ca fixed new HPUX networking facts 2015-07-20 10:27:04 -04:00
Brian Coca
80eb7a20ca Merge pull request #11469 from pilou-/local_variable
Fix pyflakes error: use 'msg' variable
2015-07-20 10:25:58 -04:00
Brian Coca
91f2acb029 Merge pull request #10203 from pdelared/devel
Add HP-UX network facts
2015-07-20 10:16:31 -04:00
Pierre-Louis Bonicoli
8c392a94b7 Play.get_name: remove prefix, return name only 2015-07-20 12:41:39 +02:00
Pierre-Louis Bonicoli
fda8fa77ab Fix pyflakes error: use 'msg' variable
Error was: local variable 'msg' is assigned to but never used
2015-07-20 12:41:39 +02:00
Brian Coca
a09ce4bd87 added callback that skipts 'skipped' 2015-07-19 23:55:39 -04:00
Brian Coca
171c95672e fixed gathering expression as it was triggering when gather_facts was no 2015-07-19 23:16:54 -04:00
Brian Coca
f66ba92745 now vault prompts for password if no password file was given, as in 1.x 2015-07-19 22:24:20 -04:00
Brian Coca
a8ba9cac3f fixed ansible pull bad options ref, removed print in favor of display 2015-07-19 18:28:03 -04:00
Brian Coca
f8905013cd now executes fact search when needed 2015-07-19 18:00:27 -04:00
James Cammarata
2c98b271c8 Make paramiko password detection logic match ssh connection 2015-07-19 02:23:53 -04:00
James Cammarata
3d77723e3d Cleaning up some stuff related to the connection info/become/executable change 2015-07-19 01:12:23 -04:00
James Cammarata
1c185b68be Rearranging some become stuff in relation to action/connection plugins
Moving the make_sudo_cmd() calls back up to the action level so that connection
plugins don't have to know about it at all, and moving some of the become data
(prompt and success_key) into the ConnectionInformation object so they don't
need to be passed around needlessly.
2015-07-19 01:12:23 -04:00
James Cammarata
7a9b5b6fe8 Remove unnecessary make_become_cmd from paramiko exec_command
Fixes #11611
2015-07-19 00:08:09 -04:00
Brian Coca
9dc5607730 Merge pull request #11519 from bcoca/human_readable
new human_readable filter to transform bits and bytes into cake
2015-07-18 23:10:53 -04:00
Brian Coca
115dce028d Merge pull request #11604 from bcoca/faf_deprecated_fixes
fixed first_available_found for template
2015-07-18 23:09:47 -04:00
Brian Coca
4f98fac494 Merge pull request #10914 from bcoca/non_posix_file_copy_fix
hack to prevent tempalte/copy errors on vagrant synced folders
2015-07-18 23:08:08 -04:00
Indrajit Raychaudhuri
4553a41ab5 Add homebrew to package managers' list 2015-07-18 19:46:26 -05:00
James Cammarata
271a7f3281 Cleaning up some of the notify/facts logic added earlier to fix problems 2015-07-17 14:44:19 -04:00
Brian Coca
1aa4155266 generalized warning handling, added it to adhoc also 2015-07-17 14:14:15 -04:00
James Cammarata
d4ac73a1bc Adding back capability to display warnings contained in results
Fixes #11255
2015-07-17 13:44:22 -04:00
James Cammarata
5abdd3b821 Handle notifications when coupled with a loop
Fixes #11606
2015-07-17 12:03:04 -04:00
Serge van Ginderachter
8d1549900c fix AnsibleError object name in subelements plugin
fixes #11624
2015-07-17 17:39:31 +02:00
Brian Coca
bc5a7fce79 Merge pull request #11616 from halberom/ssh_port
fixes 11607, override ansible_ssh_port in group/host_vars
2015-07-17 11:21:17 -04:00
Gerard Lynch
a6c8d30f3e callbacks require a version constant or the v2 code doesn't pass the display param and it gives an error 2015-07-17 15:33:48 +01:00
Brian Coca
6ba706f753 minor doc reformatting
now version_added < 1.3 does not get shown, up from 1.0
option's version_added is also now filterd against this threshold
module version_added is more prominent
exaples now uses pure rst instead of intermingled with html formatting
aliases now shown in description for options
bad version fields now throw warnings instead of exceptions
ansible-doc errors now show traceback in very very verbose mode, for easier debugging
2015-07-17 10:07:22 -04:00
Brian Coca
da890f9328 Merge pull request #11622 from amenonsen/gathering
devel breaks «gathering=explicit» setting in ansible.cfg
2015-07-17 09:04:23 -04:00
Brian Coca
a09f6236a5 adapated to v2 2015-07-17 08:55:22 -04:00
Brian Coca
10e5c2b46d fixed var scope 2015-07-17 08:54:28 -04:00
Tom Paine
097ed1f17b Add plugin that profiles playbook tasks
Resubmission of https://github.com/ansible/ansible/pull/11270 to
correct v2 file location.

[Description and console output
demonstration](https://github.com/aioue/ansible-plugin-profile/blob/mast
er/README.md#features).

Provides per-task timing, ongoing playbook elapsed time and ordered
list of top 20 longest running tasks at end.
2015-07-17 13:04:31 +01:00
Abhijit Menon-Sen
28e2eae902 Make gathering=explicit work again
There was a confusion between the valid values for defaults.gathering
(explicit/implicit/smart) and a play's gather_facts setting (boolean),
which resulted in gathering=explicit being ignored.
2015-07-17 13:05:00 +05:30
Gerard Lynch
d23ab261e1 fixes 11607, allows ansible_ssh_port to be overridden from group or host_vars 2015-07-16 23:00:17 +01:00
Brian Coca
978390693b changed to default 'auto' as it better describes the use= option 2015-07-16 16:45:04 -04:00
James Cammarata
94fa741f96 Make sure files loaded by template action are decoded properly
Fixes #11247
2015-07-16 15:23:40 -04:00
Brian Coca
5ba9fe4748 now supports maintainers and author field for display as MAINTAINERS 2015-07-16 15:18:33 -04:00
Brian Coca
c603caca27 removed extra print now that items are getting passed to callback in result 2015-07-16 15:13:35 -04:00
James Cammarata
86a83c16b8 Remove some dead code from the base load_data method
Was causing an odd error which threw off the error detection code
when the datastructure was a string corresponding to a variable.
2015-07-16 15:10:41 -04:00
James Cammarata
d977dd507c Merge pull request #11609 from ofpiyush/devel
Fix #11369 A result is skipped when all it's children are skipped. Th…
2015-07-16 11:45:04 -04:00
James Cammarata
052f3c2ece Fixing allow_duplicate and variable resolution bugs
Fixes #11205
2015-07-16 11:39:40 -04:00
Piyush
f2bdd9af29 Fix #11369 A result is skipped when all it's children are skipped. This makes it fundamentally different from a result that was changed/failed/unreachable 2015-07-16 17:50:15 +05:30
Brian Coca
5a5b7ff561 fixed first_available_found for template, refactored into common function
added deprecation warning
fixed display.deprecated to make version optional (code already assumed this)
turned warning + 'deprecated' in plugin loader into actual call to deprecated()
2015-07-15 19:47:59 -04:00
Jonathan Davila
6ea772931f Connection function for boto3
Boto3 conn
2015-07-15 16:52:01 -04:00
Toshio Kuratomi
3d3e1c82a2 Have openssl autonegotiate tls protocol on python < 2.7.9
This allows usage of tls-1.1 and tls-1.2 if the underlying openssl
library supports it.  Unfortunately it also allows sslv2 and sslv3 if
the server is only configured to support those.  In this day and age,
that's probably something that the server administrator should fix
anyhow.
2015-07-15 13:17:00 -07:00
James Cammarata
ba7243c5f9 Don't set changed for include tasks
Fixes #11197
2015-07-15 15:11:46 -04:00
James Cammarata
291f07242c Properly return Jinja2 Undefined class for bad hostvars lookups
Fixes #11176
2015-07-15 14:36:42 -04:00
James Cammarata
9fe0f21f6a Allow omit to be used on Playbook-level fields
Fixes #11173
2015-07-15 13:53:59 -04:00
James Cammarata
165fff8a1e Fixing module arg parsing splitting when action is a variable
Fixes #11122
2015-07-15 12:03:02 -04:00
Brian Coca
b76cb8f655 now that invocation is only async again, no need to sanitize 2015-07-15 10:40:37 -04:00
James Cammarata
2d870b7112 Fix logic where invocation details are added to results 2015-07-15 10:20:55 -04:00
James Cammarata
0b035a4e35 Unicode in result debug statements caused a traceback 2015-07-15 01:56:28 -04:00
Brian Coca
ae6d9ebf28 added maintainers (from author field) to ansible-doc 2015-07-14 17:33:27 -04:00
Brian Coca
fbec8bfb90 updated ref to add docfixes 2015-07-14 17:03:57 -04:00
Brian Coca
0e1d771a33 updated submodule refs 2015-07-14 16:47:47 -04:00
Toshio Kuratomi
3e293f524a Merge pull request #11589 from ansible/get_url-sni-tls-fix
Add support for SNI and TLS-1.1 and TLS-1.2 to the fetch_url() helper
2015-07-14 12:49:37 -07:00
Toshio Kuratomi
327b1676a8 Add support for SNI and TLS-1.1 and TLS-1.2 to the fetch_url() helper
Fixes #1716
Fixes #1695
2015-07-14 12:48:35 -07:00
James Cammarata
8d887d8dd3 Adding back --start-at-task feature
Also implemented framework for --step, though it's not used yet
2015-07-14 15:02:20 -04:00
Brian Coca
3c7faa8378 fixed missing self in self.action on rekey in vault
fixes #11584
2015-07-14 10:10:03 -04:00
Brian Coca
42e355f9a3 fragments can now be a list 2015-07-14 10:07:59 -04:00
Brian Coca
ea159ef9de fixed backup and validate fragments 2015-07-14 10:07:59 -04:00
James Cammarata
4e94bb64d8 Fix group/host var loading relative to playbook basedir 2015-07-14 09:26:24 -04:00
James Cammarata
7dd5600839 Allow empty include files again
Fixes #11582
2015-07-14 08:26:11 -04:00
Brian Coca
8793308c39 made md5 into generic checksum function that uses sha now 2015-07-14 07:28:32 -04:00
James Cammarata
6971e92f39 Fixing up some output stuff 2015-07-14 00:23:17 -04:00
James Cammarata
9a586c3512 Properly catch AnsibleError and not all errors 2015-07-13 20:49:11 -04:00
Brian Coca
2b723c6130 added missing re import 2015-07-13 20:42:09 -04:00
Brian Coca
3102469b94 fixing become success string 2015-07-13 20:40:40 -04:00
Brian Coca
a09f44210e now callback errors are not silent but warnings 2015-07-13 19:23:27 -04:00
Brian Coca
e0632cb9a4 Merge pull request #11577 from srvg/yaml_file_extensions
Use YAML_FILENAME_EXTENSIONS for vars files.
2015-07-13 18:29:26 -04:00
Brian Coca
5daa540bc0 Merge pull request #11576 from srvg/combine_empty_vars_file
Do not combine group_vars with an empty file
2015-07-13 18:26:02 -04:00
Serge van Ginderachter
d5fb11d89c Use YAML_FILENAME_EXTENSIONS for vars files.
The v2 codebase didn't use this previously introduced constant yet.

C.YAML_FILENAME_EXTENSIONS
2015-07-14 00:23:35 +02:00
Serge van Ginderachter
9c8f0da327 Do not combine group_vars with an empty file
This addresses a specific case with multiple vars files
in a group_vars/${groupname}/ directory where one of those files
is empty, which returns None instead of an empty dict.
2015-07-14 00:14:13 +02:00
Brian Coca
24b830bbc8 fixed executable for raw module 2015-07-13 16:23:14 -04:00
Brian Coca
c4b6d91275 added skipped to oneline 2015-07-13 15:54:12 -04:00
Brian Coca
8ad52c2e4f readded oneline output feature to adhoc
fixes #11573
2015-07-13 15:43:31 -04:00
Brian Coca
3a768b3b9f removed unused methods, these now live in base class 2015-07-13 15:43:31 -04:00
James Cammarata
c18fdd0c18 Re-implement "conditional imports" for vars_files 2015-07-13 15:18:23 -04:00
James Cammarata
d977da5b41 Fixing up fact_cache use in VariableManager 2015-07-13 11:06:03 -04:00
James Cammarata
932d1e57f7 Removing stray debugging print 2015-07-13 10:56:09 -04:00
James Cammarata
91c9bb96e3 Moving jsonfile cache plugin over and fixing #10883
Fixes #10883
2015-07-13 10:42:10 -04:00
Brian Coca
d8abae71a4 now assemble skips during checkmode
TODO: actually make it check with checkmode
fixes http://github.com/ansible/ansible-modules-core/issues/661
2015-07-13 10:34:44 -04:00
Alejandro Guirao
587a6cb44c Remove v1 code 2015-07-13 15:48:23 +02:00
Alejandro Guirao
6e99023c84 Changed to support Ansible v2 2015-07-13 15:37:27 +02:00
Alejandro Guirao
8efc42d993 Add shelvefile lookup plugin 2015-07-13 10:31:35 +02:00
James Cammarata
f40b66d841 Make sure the basedir is unicode
Fixes #10773
2015-07-12 16:40:00 -04:00
Brian Coca
ba92965670 fix for when invocation data is missing 2015-07-12 16:10:52 -04:00
James Cammarata
c5c1dc2f11 Removing tags/when from role param hash calculation 2015-07-11 21:49:35 -04:00
Brian Coca
4203b699a8 removed dict comprehension as 2.6 does not like 2015-07-11 15:15:46 -04:00
Brian Coca
032690a843 fix read_vault_password_file ref 2015-07-11 15:05:32 -04:00
Brian Coca
d993e7000c added cyan back to ignoring message 2015-07-11 15:01:50 -04:00
Brian Coca
064a34689a now actually continues play on ignore errors 2015-07-11 14:53:23 -04:00
Brian Coca
fe91f7b506 moved read_vault_file to CLI from utils and renamed to clearer read_vault_password_file 2015-07-11 14:24:45 -04:00
Brian Coca
e4097ed279 simplified ansible errors, moved md5 hash import with notes to be more prominent 2015-07-11 14:24:00 -04:00
Brian Coca
1274ce565d added result sanitation to registered var and to callbacks
removed time display as it only is provided by command module
2015-07-11 01:05:29 -04:00
Brian Coca
fdea00880b now default shows time taken when -vv or above 2015-07-11 00:02:40 -04:00
Brian Coca
7a1bce1b5d added verbose option to show callback loaded info
also made mail module print nicer without all those 'u'
2015-07-10 23:48:12 -04:00
Brian Coca
4b9a79d42b removed trailing newline
fix from #10973 by @retr0h
2015-07-10 22:12:46 -04:00
teh 4r9h
705018a417 Misspell in mail.py callback.
Looks like little misspell.
2015-07-11 02:53:32 +02:00
Brian Coca
e9a3a2912d Merge pull request #9281 from woltage/devel
Enables 'force basic auth' -feature globally
2015-07-10 18:20:52 -04:00
James Cammarata
4608897c27 Submodule update 2015-07-10 13:55:44 -04:00
Carlos E. Garcia
657495d13f minor spelling changes 2015-07-10 12:42:59 -04:00
Brian Coca
aaad33ccb6 fixed a couple of bugs 2015-07-10 10:30:33 -04:00
Brian Coca
d0c6d2ff1c poreted log_plays, syslog_json and osx_say callbacks to v2
renamed plugins to contrib (they are not really plugins)
rewrote README.md to reflect new usage
added new dir to setup.py so it gets copied with installation, in views
of making using inventory scripts easier in teh future
2015-07-10 10:30:33 -04:00
Brian Coca
50d54b1be7 ported hipchat callback to v2 (needs testing) 2015-07-10 10:30:33 -04:00
Brian Coca
e92e15b5f6 moved unused functions to base object 2015-07-10 10:30:33 -04:00
Brian Coca
b47d7babe5 removed warning i was using for debug 2015-07-10 10:30:33 -04:00
Brian Coca
834b7a2857 ported context_demo to v2 callbacks 2015-07-10 10:30:33 -04:00
Brian Coca
ba0e5323d6 removed connection info to _verbosity, just needed callbacks to call correct display.verbosity
added v2 methods and made them call v1 when possible by tranforming the data
2015-07-10 10:30:33 -04:00
Brian Coca
a918a1bd16 now calls correct v2_on_any callback method 2015-07-10 10:30:33 -04:00
Brian Coca
f9d817e636 now looks at correct verbosity and removes the need to set a copy of it in _verbosity 2015-07-10 10:30:33 -04:00
James Cammarata
cf2a66ef30 Add ansible_version magic variable
Fixes #11545
2015-07-10 03:22:37 -04:00
James Cammarata
b0e6baf8c3 Fix bug where options may not have the force_handlers value from the cli 2015-07-10 03:19:48 -04:00
James Cammarata
f8ddf2eb04 Move role cache into the play to avoid roles crossing play boundaries 2015-07-10 02:43:53 -04:00
James Cammarata
b520d5bc60 Lots of fixes for integration test bugs 2015-07-10 01:53:59 -04:00
Iiro Uusitalo
4e7542af37 Merge upstream changes 2015-07-10 08:44:20 +03:00
Iiro Uusitalo
403f4881ee Enables 'basic auth force' -feature globally 2015-07-09 23:11:52 +03:00
James Cammarata
a9712bb0fb Fixing some delegate_to bugs
* Moving connection creation until after the task is post_validated,
  to make sure all fields are properly templated (#11230)
* Fixing problems related to the connection method and remote address
  lookup on the delegated-to host

Fixes #11230
2015-07-09 08:25:08 -04:00
Brian Coca
3ba67dd2d0 added ignore_hidden to assemble 2015-07-09 00:27:29 -04:00
Brian Coca
b5f3e84014 now allows for empty vars sections, returns empty dict
fixes #11532
2015-07-08 22:45:01 -04:00
Brian Coca
55366bdc6d ported mail callback plugin to work with v2 2015-07-08 16:33:51 -04:00
Brian Coca
897e098b27 minor fixes to constants 2015-07-08 16:33:51 -04:00
Toshio Kuratomi
dd058a1dc2 Fix required_if (needed to pass list to _count_terms) 2015-07-08 09:45:02 -07:00
James Cammarata
27fcf1a4b5 Fix bug in registered variables related to delegate_to changes 2015-07-08 12:38:24 -04:00
James Cammarata
64a1b1e043 Fix first_available_file: support for copy and template actions 2015-07-08 12:23:42 -04:00
Toshio Kuratomi
ddac6fa9f3 Update exception handling to be python3 compat 2015-07-08 08:59:42 -07:00
James Cammarata
8f0496d7ce Fix usage of set_host_var when registering a result var
Fixes #11521
2015-07-08 09:15:55 -04:00
James Cammarata
2e5dfd57cc Clear flag indicating role had run before each play is run
Fixes #11514
2015-07-07 21:47:48 -04:00
Brian Coca
a02555ad91 Merge pull request #11483 from pilou-/jinja2_header_overrides
implement jinja2 header overrides
2015-07-07 18:02:00 -04:00
James Cammarata
f67949e42c Readd logic for ansible_managed to template action plugin
Fixes #11317
2015-07-07 16:48:19 -04:00
James Cammarata
da307c8bfd Fix bug in logic introduced in 614c626 2015-07-07 16:09:36 -04:00
James Cammarata
293dd38d05 Correctly handle assigning results to the delegated to host 2015-07-07 16:09:36 -04:00
Brian Coca
688088547b new human_readable filter to transform bits and bytes into cake (not really) 2015-07-07 15:58:18 -04:00
Toshio Kuratomi
49a148056c Ensure that we're dealing with byte str when we print or log messages 2015-07-07 12:05:59 -07:00
James Cammarata
614c626ed0 Fix no hosts remaining logic in linear strategy 2015-07-07 14:20:07 -04:00
Toshio Kuratomi
135fa41e3a Update submodules refs 2015-07-07 10:54:36 -07:00
Marc Abramowitz
314bae2a9e Don't wrap text for AnsibleParserError
This allows not messing up the wonderful error reporting that is
carefully created. Instead of:

    $ ansible-playbook foo.yml
     [ERROR]: ERROR! 'foo' is not a valid attribute for a Task  The error appears
    to have been in '/Users/marca/dev/git-repos/ansible/foo.yml': line 4, column 7,
    but may be elsewhere in the file depending on the exact syntax problem.  The
    offending line appears to be:    tasks:     - name: do something       ^ here

we get:

    $ ansible-playbook foo.yml
    ERROR! 'foo' is not a valid attribute for a Task

    The error appears to have been in '/Users/marca/dev/git-repos/ansible/foo.yml': line 4, column 7, but may
    be elsewhere in the file depending on the exact syntax problem.

    The offending line appears to be:

      tasks:
        - name: do something
          ^ here

which is much nicer.
2015-07-07 09:31:00 -07:00
Brian Coca
50efeb13ba made squashable with_ plugin list configurable
partially deals with #11383
2015-07-07 11:59:20 -04:00
Brian Coca
a6aedbcc51 now correctly picks up old become password host vars 2015-07-06 23:24:00 -04:00
Toshio Kuratomi
49e17b8ff6 Get rid of an unused import so that we don't have circular imports 2015-07-06 14:19:13 -07:00
Toshio Kuratomi
5b0b1f8da6 unquote strings in the ansible config file 2015-07-06 14:12:10 -07:00
Toshio Kuratomi
f44f9569e1 Test unquote works as expected and fix two bugs:
* escaped end quote
* a single quote character
2015-07-06 13:16:42 -07:00
James Cammarata
1d8ccfb99f Fixing includes where the included file is "{{item}}" 2015-07-06 14:30:56 -04:00
James Cammarata
46b33152c8 Check for ansible_su*_pass as well as _password
Fixes #11500
2015-07-06 13:49:25 -04:00
Toshio Kuratomi
378c8fd549 Update submodule refs 2015-07-06 10:44:27 -07:00
Brian Coca
2c9d1257ba put type checking before looking against choices array to always get type comparrison correctly 2015-07-05 19:55:11 -04:00
Brian Coca
22a0aa016f pbrun not forced to use local daemon anymore 2015-07-05 15:51:12 -04:00
Brian Coca
2a0cc38922 Merge pull request #11494 from jonhadfield/add_iso8601_basic_datetime
Add facts for datetime 8601 basic and basic short.
2015-07-05 14:55:20 -04:00
Brian Coca
05be30168d return empty string when config file is not used 2015-07-05 12:51:05 -04:00
Jon Hadfield
82e00b1022 add facts for datetime 8601 basic and basic short. 2015-07-05 17:23:22 +01:00
Brian Coca
51efd765be Merge pull request #11415 from msabramo/remove_unnecessary_imports
Remove unnecessary imports
2015-07-05 01:09:28 -04:00
James Cammarata
9155af20e3 Make sure vars in debug tasks aren't templated too early
If the syntax var={{something}} is used, that can be templated too
early in the post_validation, leading the debug module to fail when it
tries to template the same value in turn.
2015-07-05 01:06:54 -04:00
James Cammarata
38cc54b717 Make 'vars' a copy to prevent recursion issues 2015-07-04 23:34:07 -04:00
James Cammarata
bddadc9565 Fix bug in relative path determination 2015-07-04 23:18:54 -04:00
James Cammarata
38c5da9d2a Revert "Backing out vars magic variable due to failed tests"
This reverts commit 388e46a485.
2015-07-04 22:48:20 -04:00
James Cammarata
388e46a485 Backing out vars magic variable due to failed tests 2015-07-04 22:44:45 -04:00
James Cammarata
76c5be3a31 Add 'vars' to magic variables 2015-07-04 21:28:28 -04:00
Marc Abramowitz
0676157897 Remove unnecessary imports 2015-07-04 17:41:36 -07:00
Brian Coca
552715f072 added validate and backup doc fragments 2015-07-04 17:58:23 -04:00
Spencer Krum
3887173c2c Use cfacter instead of facter if possible
CFacter is the facter replacement written in C++. It is available from
the puppetlabs repo.
2015-07-04 09:13:20 -07:00
Brian Coca
5f791329ce now verbose mode shows config file used 2015-07-04 10:23:49 -04:00
James Cammarata
67671e328a Fix callback loading issue a slightly different way 2015-07-04 00:07:17 -04:00
James Cammarata
a51c165157 Revert "load callbacks on init again as they did not seem to load with new call from executor"
This reverts commit cf4ed9a556.
2015-07-03 23:52:59 -04:00
James Cammarata
2ddd83360a Revert "removed 2nd load_callbacks that was causeing dupe output"
This reverts commit de98dc2968.
2015-07-03 23:52:49 -04:00
Brian Coca
4d35d8bd31 properly booleanify copy field 2015-07-03 18:59:49 -04:00
Pierre-Louis Bonicoli
720e184f88 implement jinja2 header overrides 2015-07-03 22:27:49 +02:00
Brian Coca
de98dc2968 removed 2nd load_callbacks that was causeing dupe output 2015-07-03 14:28:10 -04:00
Brian Coca
bdccfa71a8 Merge pull request #11482 from verm666/issue-1627
facts: add aliases to ansible_all_ipv4_addresses on OpenBSD
2015-07-03 13:57:10 -04:00
Brian Coca
5122455db8 ported missing sequence updates from 1.9 2015-07-03 13:54:51 -04:00
Brian Coca
cf4ed9a556 load callbacks on init again as they did not seem to load with new call from executor 2015-07-03 13:01:21 -04:00
Brian Coca
9e37402cb7 added ramfs to selinux ignored filesystems
as reported in #11442
2015-07-02 17:25:05 -04:00
James Cammarata
31239f44cd Show failed result on a retry message
Fixes #10099
2015-07-02 10:33:41 -04:00
verm666
d91947ee96 facts: add aliases to ansible_all_ipv4_addresses on OpenBSD 2015-07-02 15:36:56 +03:00
James Cammarata
08ad05c83b Make sure callbacks are loaded in the tqm a bit earlier
Fixes #11463
2015-07-02 02:51:24 -04:00
Brian Coca
1b74102ab3 Merge pull request #11435 from hfinucane/ipwrap-generator
Treat generators like lists and tuples
2015-07-01 18:34:44 -04:00
Toshio Kuratomi
71f72b655e Merge pull request #11432 from sivel/splitext-filter
Add splitext filter
2015-07-01 13:17:56 -07:00
James Cammarata
9341148f04 Throw an error if with_first_found finds no files by default
Fixes #9976
2015-07-01 16:09:34 -04:00
Toshio Kuratomi
b11e69f3d0 Merge pull request #11452 from soarpenguin/devel
fix type error.
2015-07-01 12:41:05 -07:00
Brian Coca
13ac0ba1fe now setuptools will pull the data dir with templates that are used by galaxy init 2015-07-01 11:12:10 -04:00
Brian Coca
08e981b9f4 corrected api permissions 2015-07-01 11:12:10 -04:00
James Cammarata
cf51d0a790 Fixing up some check-mode stuff 2015-07-01 15:10:25 -04:00
James Cammarata
ad53b6f36a Merge pull request #11461 from pilou-/shell_removed
Fix "AttributeError: 'ActionModule' object has no attribute '_shell'"
2015-07-01 14:35:27 -04:00
James Cammarata
7fa37870c8 Merge pull request #9683 from justinwyer/logical-block-size-and-sectors-9549
Disk size for advanced drives over 2 TB is incorrect
2015-07-01 14:14:04 -04:00
James Cammarata
dcb9b5a69f Make --module-path work and expand tilde's in paths
Fixes #9937
Fixes #9949
2015-07-01 12:39:39 -04:00
Toshio Kuratomi
fffb65d45f Update submodule refs 2015-07-01 09:34:17 -07:00
James Cammarata
2e386deeae Make undefined variables in debug var=foo more obvious
Fixes #9935
2015-07-01 11:55:00 -04:00
James Cammarata
b6c52ce115 Allow role variables to be optionally kept in a private scope 2015-07-01 11:33:14 -04:00
Pierre-Louis Bonicoli
4d4512940d Fix "AttributeError: 'ActionModule' object has no attribute '_shell'"
'_shell' was removed with commit 2a5fbd8570
2015-07-01 17:22:09 +02:00
Brian Coca
dcb06ac7a8 Merge pull request #11445 from emonty/devel
Fix a tiny typo
2015-07-01 09:34:32 -04:00
Brian Coca
0a2a9557b8 now allows for users to use ^D to not input a password
fixes #11413
2015-07-01 05:22:49 -04:00
Benno Joy
4889d04fc6 fixes 11448 , yum with with_items 2015-07-01 10:02:54 +05:30
soarpenguin
c6ed1ff4ad fix type error. 2015-07-01 12:16:01 +08:00
James Cammarata
7c1d569a26 Make sure tags are pulled out of playbook includes properly
Fixes #9862
2015-06-30 16:09:04 -04:00
Toshio Kuratomi
54e7c8a3f7 Add python requirement to the documentation for openstack modules requiring shade 2015-06-30 12:51:20 -07:00
Monty Taylor
e89f1186e7 Fix a tiny typo 2015-06-30 14:46:43 -04:00
James Cammarata
ec4d1b11df Fix some more handler issues
* Only notify handlers when the task is changed
* Don't run handlers on hosts which have failed
2015-06-30 14:44:41 -04:00
James Cammarata
2576f480fd Restoring a state check to play_iterator, which otherwise broke block functionality 2015-06-30 13:57:47 -04:00
Matt Martz
65fdcf8b9d Check for name or pkg when templating squashed items. Fixes #11430 2015-06-30 10:15:25 -05:00
James Cammarata
0cfebb8760 Fixes a bug whereby tags are expected to be a set
Fixes #11424
Fixes #11429
2015-06-30 07:18:41 -04:00
Brian Coca
d149ea5222 ported timer.py callback to v2 2015-06-29 20:45:50 -04:00
Brian Coca
7416e00541 fixed condition for loading whitelisted callbacks 2015-06-29 20:45:50 -04:00
James Cammarata
9785e5397e Fix typo in SharedObjectLoader field basedirs 2015-06-29 22:51:53 -04:00
James Cammarata
927072546b Fixing up some issues with plugin loading 2015-06-29 22:49:25 -04:00
James Cammarata
2a5fbd8570 Winrm fixes for devel
* Include fixes for winrm connection plugin from v1 code
* Fixing shell plugin use
2015-06-29 22:49:25 -04:00
Henry Finucane
2d1cb7f328 Treat generators like lists and tuples 2015-06-29 14:55:11 -07:00
Toshio Kuratomi
8a76371a1c Merge pull request #11394 from dlundquist/ipaddr-slaac-filter
IPv6 SLAAC address computation filter
2015-06-29 14:23:50 -07:00
Matt Martz
4059904a18 Add splitext filter 2015-06-29 15:39:57 -05:00
Toshio Kuratomi
be6db1a730 Refactor the argspec type checking and add path as a type 2015-06-29 08:05:58 -07:00
James Cammarata
21c14363fd Allow callback plugins to be whitelisted 2015-06-29 10:56:28 -04:00
James Cammarata
24226646fc When loading the play hosts list, enforce some consistency
Fixes #9580
2015-06-28 01:00:32 -04:00
James Cammarata
9d9cd0c42c Handle getting the ds for Conditionals which may not be mixed in 2015-06-28 00:30:27 -04:00
James Cammarata
f433e709f2 Fix templating of hostvars values
Also adds play information into the hostvars creation, to assure the
variable manager used there has access to vars and vars_files

Fixes #9501
Fixes #8213
Fixes #7844
2015-06-27 21:04:16 -04:00
James Cammarata
8ef28253e3 Properly catch and report conditional test failures 2015-06-27 15:37:10 -04:00
James Cammarata
0eb1c880dd Use itertools instead of set for tags, as the data may not hash well
The tags field may contain bad data before it is post_validated, however
some methods assumed it would be a simple list or string. Using itertools
gets us around the problem of the data potentially not being hashable

Fixes #9380
2015-06-27 15:19:44 -04:00
Brian Coca
af49944ab2 Merge pull request #11398 from resmo/for-ansible
cloudstack: fixes and updates
2015-06-27 13:28:37 -04:00
James Cammarata
bb8d87ceb6 Allow field attributes which are lists to validate the type of the list items
Starting to apply this for tags too, however it is not correcting things
as would be expected.
2015-06-27 01:01:51 -04:00
James Cammarata
f68223b9ed Don't add module args into variables at all
Getting recursive errors otherwise, so this is probably not something
we want to do. This most likely only worked in v1 due to the fact that
module args were templated earlier than the point in Runner() when
they were fed into the templating engine.
2015-06-27 01:01:51 -04:00
Brian Coca
e153f76c95 now validate that we do get a vault password 2015-06-27 00:02:24 -04:00
Uli Martens
25fc0c7e1b Fixing bug in failed_when results introduced by c3c398c 2015-06-26 16:55:06 -04:00
James Cammarata
b723f9a09a Allow squashed loop items to use name=foo-{{item}}
Fixes #9235
Fixes #11184
2015-06-26 13:56:45 -04:00
Rene Moser
7952723530 cloudstack: fix domain name is not unique, use full path 2015-06-26 09:25:26 +02:00
Rene Moser
b9b1e294d7 cloudstack: add get_or_failback() 2015-06-26 09:25:26 +02:00
Dustin Lundquist
cf7744f2f1 IPv6 SLAAC address computation filter
Jinja2 filter to compute SLAAC address.

Usage:
    {{ '2db8::/64' | slaac(ansible_eth0.macaddress) }}
2015-06-25 13:20:21 -07:00
Toshio Kuratomi
9911a947ed Vendorize match_hostname code so that ansible can push it out to clients along with the code that uses it. 2015-06-25 08:17:58 -07:00
Toshio Kuratomi
00aed57295 Update submodule refs 2015-06-25 07:13:46 -07:00
Toshio Kuratomi
160e71e2cf Some flake8 cleanup 2015-06-25 07:13:37 -07:00
James Cammarata
332ca927d9 Fix parent attribute lookup
Using 'value is None' instead of 'not value', in order to account
for boolean values which may be false

Fixes #11232
2015-06-24 20:57:53 -04:00
James Cammarata
256a323de5 Submodule update 2015-06-24 15:03:34 -04:00
Toshio Kuratomi
548a7288a9 Use BUFSIZE when putting file as well as fetching file. 2015-06-24 01:00:22 -07:00
Toshio Kuratomi
270be6a6f5 Fix exec_command to not use a shell 2015-06-23 22:27:45 -07:00
Toshio Kuratomi
a1a7d6c462 Fix forwarding the user-given params from fetch_url() to open_url() 2015-06-23 15:17:26 -07:00
Toshio Kuratomi
e461241d7b Fix fetch_file() method 2015-06-23 14:45:44 -07:00
James Cammarata
d0d9be30d5 Correctly compile handler blocks for dependent roles 2015-06-23 15:48:48 -04:00
James Cammarata
0b16580567 Add in playbook_dir magic variable 2015-06-23 14:29:39 -04:00
James Cammarata
4c6adcf143 Submodule pointer update 2015-06-23 13:32:50 -04:00
Hugh Saunders
4246777759 Re-implement the ssh connection retry, originally added in 2df690 2015-06-23 12:14:14 -04:00
James Cammarata
006391eb83 Add the improved exception reporting to the minimal callback plugin 2015-06-23 12:14:14 -04:00
Toshio Kuratomi
6aae500a2c Documentation fix 2015-06-23 08:58:26 -07:00
Toshio Kuratomi
125e6f49a1 Update submodule refs 2015-06-23 08:49:01 -07:00
James Cammarata
72d4b40a26 Don't allow empty (none) loop values
Fixes #8593
2015-06-23 10:42:33 -04:00
James Cammarata
24d2202591 Make sure role parsing can handle a few more types in includes/defs 2015-06-23 10:20:09 -04:00
James Cammarata
aa53212a9b Don't use all task params for vars, just the module args 2015-06-23 10:20:09 -04:00
Toshio Kuratomi
952166f48e Fix problem with chroot connection plugins and symlinks from within the chroot. 2015-06-22 20:08:08 -07:00
Toshio Kuratomi
61e367f549 Better error messages when the file to be transferred does not exist. 2015-06-22 20:08:08 -07:00
James Cammarata
7490044bbe Implement play_hosts magic variable (and ansible_current_hosts)
Fixes #8073
2015-06-22 21:03:55 -04:00
James Cammarata
cb5f630f33 Don't post_validate vars and vars_files on Play objects
Fixes #11343
2015-06-22 11:23:23 -04:00
James Cammarata
ff251a0dcc Catch runtime errors due to recursion when calculating group depth
Fixes #7708
2015-06-22 02:06:07 -04:00
James Cammarata
97954ff658 Minor tweak to potentially speed the linear strategy up
* Don't fetch vars for the task unless we're going to use them
2015-06-22 00:53:34 -04:00
Benno Joy
f17bdc4d61 Set the ansible_ssh_port variable instead of saving it internally for Host
Fixes #11330
2015-06-22 00:38:41 -04:00
Brian Coca
b34b606fcf fixed and/or grouping 2015-06-21 01:51:28 -04:00
Brian Coca
68325dbfe2 fixed remote tmp creation when becoem user is not root and '~/' instead of $HOME is the default 2015-06-21 01:43:35 -04:00
Brian Coca
102de96ebf avoid password handling when no password is supplied 2015-06-21 01:24:35 -04:00
Brian Coca
3bad03d57a cleaned up and optimized become handling paths 2015-06-21 01:13:22 -04:00
Benno Joy
be81b650e8 fixes issue 11286 where role handlers are not run 2015-06-21 00:36:37 -04:00
James Cammarata
fc5be30c2f Change the use of a mutable arg for a default value for locals 2015-06-19 23:04:35 -04:00
James Cammarata
0d92599d18 Make exception printing a bit smarter 2015-06-19 22:59:12 -04:00
Toshio Kuratomi
a77b58e351 Bumpt the BUFSIZE to 64k for better performance 2015-06-19 11:52:06 -07:00
Toshio Kuratomi
0777d02505 Fix problem with jail and zone connection plugins and symlinks from within the jail/zone. 2015-06-19 11:09:48 -07:00
Toshio Kuratomi
ca2f2c4ebd Fix problem with jail and zone connection plugins and symlinks from within the jail/zone. 2015-06-19 09:41:48 -07:00
Toshio Kuratomi
f0777d9c4e Update submodule refs 2015-06-19 09:08:57 -07:00
James Cammarata
18a9eff11f Properly use local variables from templates including other templates
Fixes #6653
2015-06-18 16:10:21 -04:00
James Cammarata
c0dfa8d512 Make sure task names are templated before callbacks are sent 2015-06-18 14:27:20 -04:00
James Cammarata
98fee172ee Fix bug in async action plugin 2015-06-18 13:49:34 -04:00
James Cammarata
270eb4274c Make sure we safe_eval booleans too
Fixes #5779
2015-06-18 11:12:46 -04:00
Brian Coca
4d5a98d8d9 Merge pull request #11307 from dagwieers/patch-6
Change syslog (priority) level from LOG_NOTICE to LOG_INFO
2015-06-18 10:29:16 -04:00
Brian Coca
7bb2a7aa87 actually no password to handle, this should return false 2015-06-18 10:23:37 -04:00
Brian Coca
87a0ccc354 fixed typo 2015-06-18 10:12:04 -04:00
Brian Coca
aede9f08db fixed case in which prompt was None 2015-06-18 10:05:23 -04:00
Dag Wieers
4ca4d36ae6 Change syslog (priority) level from LOG_NOTICE to LOG_INFO
If you look at the meaning of the different syslog levels, NOTICE means that the event may need someone to look at it. Whereas INFO is pure informational.

Since module invocations are in fact requested (deliberate) actions, they shouldn't need any additional post-processing, and therefore should not be logged as NOTICE.

This may seem like hairsplitting, but correctly categorizing system events helps weeding through the noise downhill.

According to Wikipedia: https://en.wikipedia.org/wiki/Syslog

5 	Notice 		notice 	Events that are unusual but not error conditions .
6 	Informational 	info 		Normal operational messages -no action required. Example an application has started, paused or ended successfully.
2015-06-18 11:00:10 +02:00
Brian Coca
7c65f3ddd7 partial become support for local connection plugin 2015-06-18 01:46:43 -04:00
Brian Coca
671118ba71 fixed become password handling with paramiko 2015-06-17 23:31:55 -04:00
Brian Coca
744ec2bbad put hostkey locking into function (still needs fixing)
implemneted become handling here, cannot generalize well enough in base class
2015-06-17 23:31:54 -04:00
Brian Coca
d6672ad285 removed unused import 2015-06-17 23:31:54 -04:00
Brian Coca
5cfd0f82a0 moved away from generic function for become 2015-06-17 23:31:54 -04:00
Brian Coca
3fab516d3d fixed detection of incorrect password 2015-06-17 23:31:54 -04:00
Brian Coca
faed1b2d05 better error reporting when doc parsing fails 2015-06-17 23:31:54 -04:00
James Cammarata
87ca475704 Exclude the all/ungrouped groups from pattern matching results
Fixes #5375
2015-06-17 16:25:58 -04:00
James Cammarata
90445ee67d Add ::1 where we see 127.0.0.1, for better ipv6 support
Fixes #5764
2015-06-17 16:03:19 -04:00
James Cammarata
c3c398cffe Cleaning up some task failure detection problems
* fixed a bug in which failures from a with_* loop were not being
  caught correctly, leading to tasks continuing when they should stop
* when ignore_errors is enabled, the failure will no longer count
  towards the number of failed tasks
2015-06-17 15:40:04 -04:00
Marc Abramowitz
a385744426 Add inventory file to "Unable to find" error msg
E.g.:

    $ ansible gabriel -m ping -i ssh_config.py
    ERROR! Unable to find an inventory file (ssh_config.py), specify one with -i ?
2015-06-17 11:00:13 -07:00
James Cammarata
daa319881f Make sure registered variable message is sent before other messages
Avoids a race condition where previously the registered variable message
was being sent after the 'host_task_ok' message, meaning the next task
may be started before the var is registered, leading to an undefined
variable error
2015-06-17 12:42:47 -04:00
Benno Joy
0d5b7ae669 fixes 11296 where the groups does not have all the groups 2015-06-17 19:18:19 +05:30
James Cammarata
ff998b6022 Make sure the templar is using the right vars when evaluating conditionals 2015-06-17 00:10:11 -04:00
Brian Coca
d7fcd9456a Merge pull request #11288 from kstrauser/aixfixes
Don't panic if AIX's uname doesn't support -W
2015-06-16 19:02:50 -04:00
Kirk Strauser
eb820837ac Don't panic if AIX's uname doesn't support -W
The current code expects "uname -W" on AIX to always succeed. The AIX 5
instance I have doesn't support the -W flag and facts gathering always
crashes on it.

This skips some WPAR handling code if "uname -W" doesn't work.
2015-06-16 15:26:02 -07:00
Kirk Strauser
935da01068 Fixes for FreeBSD get_memory_facts
- swapinfo on FreeBSD 6 (maybe 7 too?) doesn't support the "-m" flag for
  fetching amounts in megabytes. This patch fetches amounts in kilobytes
  and divides by 1024 (and also returns the result as an int instead of
  a string).

- When no swap is configured, swapinfo prints a header line and nothing
  else:

    $ swapinfo
    Device         1K-blocks     Used    Avail Capacity

  The old version unexpectedly parsed that header line and emitted
  nonsense values like:

    "ansible_swapfree_mb": "Avail"
    "ansible_swaptotal_mb": "1K-blocks"

  This version emits those items altogether.
2015-06-16 14:35:36 -07:00
Brian Coca
3b1b95b916 moved ipv6 handling to init
fixed become password handling
2015-06-16 15:48:10 -04:00
Brian Coca
bb7d33adbc moved become password handlingn to base class 2015-06-16 15:48:10 -04:00
James Cammarata
4b28a51f25 Don't fail outright when a play has an empty hosts list 2015-06-16 13:56:23 -04:00
James Cammarata
30c1a2d861 Have group/host var file loading check for YAML extensions too
Fixes #11132
2015-06-16 11:55:56 -04:00
Brian Coca
423f1233c8 removed typo file 2015-06-16 10:49:37 -04:00
Brian Coca
c87591f76f updated to new exec_command signature 2015-06-16 09:28:27 -04:00
Brian Coca
b76dbb01cc generalized prereqs check
added vaultfile class for action and lookup plugin usage
2015-06-16 09:20:15 -04:00
Brian Coca
9116ff1c28 replaced removed pager_print for print 2015-06-16 09:19:37 -04:00
Brian Coca
98f5534d9c adaptaed to new exec signature
should fix #11275
2015-06-16 09:12:42 -04:00
Brian Coca
6c884c9e39 Merge pull request #11271 from sivel/build-play-method
Allow AdHocCLI to be more flexible for overriding
2015-06-15 16:21:32 -04:00
Brian Coca
dcf81e3ffe removed useless comments 2015-06-15 15:04:19 -04:00
Matt Martz
1d55e193c1 Expose the TaskQueueManager to self 2015-06-15 13:50:40 -05:00
Matt Martz
670894e2bd Move building the play_ds into a method, that can be overridden 2015-06-15 10:35:26 -05:00
Brian Coca
8ae58f7ea3 fixed executable, correctly this time 2015-06-15 11:26:45 -04:00
Brian Coca
f576d29b6b allow for any non string iterable in listify 2015-06-15 11:02:51 -04:00
Brian Coca
1ce1c52f6f centralized bad password handling, fixed outputing of become method 2015-06-15 01:40:53 -04:00
Brian Coca
b89071e485 now detects incorrect password with sudo and su (at least in english) 2015-06-15 01:30:03 -04:00
Brian Coca
be8d797c23 fixed su prompt function reference 2015-06-15 01:07:02 -04:00
Brian Coca
872448e9e8 updated connection info update_vars to only update if data is not alreayd present
aslo added comment clarifying why we do this
2015-06-15 01:02:27 -04:00
Brian Coca
956937b110 made executable shell configurable again 2015-06-15 00:15:31 -04:00
Brian Coca
580993fef7 enabled initial support for password prompt on become
- moved check prompt/password functions to connection, make more senes there
- TODO: consider moving make_become to connection from connection_info
- removed executable param that was never overriden outside of connection info
2015-06-15 00:09:25 -04:00
Brian Coca
bac35ae773 set correct become mehotds for plugin
fixed mixup with remote password vs become_password
2015-06-14 23:49:10 -04:00
Brian Coca
ff443d4534 added note to figurte out correct var udpate on connection_info 2015-06-14 23:48:03 -04:00
Brian Coca
c3ccf26b70 added become check back to connections 2015-06-14 23:45:56 -04:00
Brian Coca
de82c953f2 added privilege escalation special var mapping 2015-06-14 23:19:49 -04:00
Brian Coca
a248678518 initial become support to ssh plugin
- password prompt detection and incorrect passwrod detection to connection info
- sudoable flag to avoid become on none pe'able commands
2015-06-14 23:03:23 -04:00
Brian Coca
a267f93c83 removed incorrect assumption on become user being set 2015-06-14 21:05:23 -04:00
Brian Coca
ff15f374ad fixed new become settings, rearranged constants to find PE related vars easier 2015-06-14 20:50:38 -04:00
Brian Coca
e7abe06440 added first_found to template 2015-06-13 00:34:15 -04:00
Brian Coca
8ee4c7266c corrected original_file code path to use actually use data from original file 2015-06-13 00:10:17 -04:00
Brian Coca
491761f880 added note to add faf deprecation 2015-06-12 23:54:09 -04:00
Brian Coca
a6ca133da8 got first_available working with copy 2015-06-12 23:54:09 -04:00
Brian Coca
aca125d03e Merge pull request #11252 from sivel/deprecated-warning
Display a warning when using a deprecated module
2015-06-12 16:30:45 -04:00
Matt Martz
9ed3e2ef48 Display a warning when using a deprecated module 2015-06-12 15:21:33 -05:00
Toshio Kuratomi
d315f6e22c Fix Etcd constructor 2015-06-12 12:59:29 -07:00
Toshio Kuratomi
77c76e632e Switch etcd and url lookup plugins to verify ssl certificates 2015-06-12 12:54:57 -07:00
Toshio Kuratomi
4161d78a94 Split the fetch_url() function into fetch_url and open_url().
open_url() is suitable for use outside of a module environment.  Will
let us use open_url to do SSL cert verification in other, non-module
code.
2015-06-12 12:54:56 -07:00
Brian Coca
e07dde1a3c Merge pull request #11251 from sivel/issue/11244
Require passlib over crypt in password_hash for Mac OS X/Darwin. Fixes #11244

i was almost done with my patch ... but I like yours better
2015-06-12 14:58:02 -04:00
Matt Martz
a4e2d1eb62 Require passlib over crypt in password_hash for Mac OS X/Darwin. Fixes #11244 2015-06-12 13:54:43 -05:00
Brian Coca
aaab69cae9 brought back terms testing as with_ is not only way to call and we cannot guarantee terms is a list otherwise. 2015-06-11 13:45:04 -04:00
Toshio Kuratomi
c346788194 Slight optimization of how we squash loops. Add dnf to the list of modules for which we squash.
Fixes #11235
2015-06-11 08:55:56 -07:00
Brian Coca
aed429554d better checks to ensure listify emits a non string iterable 2015-06-11 10:03:44 -04:00
Brian Coca
c8fde467b5 Merge pull request #11163 from sivel/ssh-private-key-fixme
Re-introduce ssh connection private key support
2015-06-11 09:16:27 -04:00
Brian Coca
f174682e19 facts should now not be overriten with NA option unless they are NA
this way we don't need a break per distro that matched already with
the python default functions
2015-06-11 00:48:40 -04:00
Brian Coca
4098e8283e several fixes to template
- now obeys global undefined var setting and allows override (mostly for with_ )
- moved environment instanciation to init instead of each template call
- removed hardcoded template token matching and now use actually configured tokens, now it won't break if someone changes default configs in ansible.cfg
- made reenetrant template calls now pass the same data it got, dictionary and lists were loosing existing and new params
- moved fail_on_undeinfed parameter to template call, as it should only realky be set to false on specific templates and not globally
- added overrides, which will allow template to implement jinja2 header override features
- added filter list to overrides to disallow possibly insecure ones, TODO: check if this is still needed as facts should not be templated anymore
- TODO: actually implement jinja2 header overrides
2015-06-11 00:21:53 -04:00
Brian Coca
7291f9e965 removed cruft
made sure it does not fail on undefined
2015-06-11 00:13:40 -04:00
Brian Coca
f29c1c7452 respect undefined config setting 2015-06-10 23:26:01 -04:00
Brian Coca
40336b50af removed redundant string check
added playbook path lookup
2015-06-10 22:58:08 -04:00
Brian Coca
7306a5397e simplified function, always attempt to template, always check if string before return, should avoid most cases of strings being passed to lookups 2015-06-10 22:55:50 -04:00
Brian Coca
aa6e204b6e Merge pull request #11115 from jhawkesworth/second_go_at_fixing_1404
Part fix for https://github.com/ansible/ansible-modules-core/issues/1404 (replaces #11086)
2015-06-10 20:43:32 -04:00
Brian Coca
f2934eeb0a Merge pull request #11226 from resmo/for-ansible
cloudstack: cleanup, remove unused parts
2015-06-10 14:44:49 -04:00
Brian Coca
d68111382d updated with nagios doc fix 2015-06-10 13:00:29 -04:00
Brian Coca
39764ed7d8 updated submodule refs 2015-06-10 13:00:29 -04:00