Commit graph

5630 commits

Author SHA1 Message Date
James Cammarata
5d92b00d9c Cleanup some include logic
* Properly mark hosts with failures in includes as failed
* Don't send callbacks until we're sure we're done, and also fix how
  we increment stats so failures don't show up as ok's
* Fix a bug in the include file logic where a failed include could lead
  to an infinite loop in the task iteration logic

Fixes #12933
2015-10-28 14:02:24 -04:00
Toshio Kuratomi
56b310b18d Update submodule refs 2015-10-28 09:04:52 -07:00
James Cammarata
299054852a Allow tags to be specified in included file params
Fixes #12940
2015-10-28 10:14:20 -04:00
Brian Coca
b2fc5142eb moved sudo -S and -n into configurable flags as they might be absent in much older systems
if password is supplied exsiting -n would get remove from flags
2015-10-28 02:06:25 -04:00
Toshio Kuratomi
e3e2db1119 Improve the warning message about duplicate yaml dict keys 2015-10-27 14:20:36 -07:00
James Cammarata
87269599a0 Also consider the full role name when searching for --start-at-task 2015-10-27 16:31:23 -04:00
Toshio Kuratomi
acbea65b1d Update core submodule ref to fix doc build 2015-10-27 12:52:41 -07:00
Toshio Kuratomi
2c5da0923a Update submodule refs 2015-10-27 12:50:24 -07:00
Toshio Kuratomi
7334389de6 Merge pull request #12930 from ansible/dict-key-overwrite-warning
Break apart a looped dependency to show a warning when parsing playbooks
2015-10-27 12:44:01 -07:00
Toshio Kuratomi
4203850d1a Break apart a looped dependency to show a warning when parsing playbooks
Display a warning when a dict key is overwritten by pyyaml
Fixes #12888
2015-10-27 12:39:42 -07:00
James Cammarata
3fc2209ca0 Fixing retry/until logic and default value for retries
Fixes #12928
Fixes #12929
2015-10-27 15:37:48 -04:00
James Cammarata
57fe0d6aed Merge pull request #12911 from bcoca/manpage_fixes
Manpage fixes
2015-10-27 14:48:38 -04:00
James Cammarata
1dc23ea779 Merge pull request #12866 from bcoca/more_inheritence
More inheritence
2015-10-27 14:46:42 -04:00
James Cammarata
cace91df56 Allow hostvars cache to be invalidated so hostvars contain all hosts after add_host
Fixes #12925
2015-10-27 14:12:17 -04:00
James Cammarata
2825c188bd Merge pull request #12901 from bcoca/sanitize_results
sanatize results
2015-10-27 08:42:34 -04:00
Jason O'Donnell
9dfa3719be Fixing typo 2015-10-26 17:13:49 -04:00
Jason O'Donnell
ac9b35cc2b Found another typo 2015-10-26 17:04:28 -04:00
Jason O'Donnell
80433c2a2d Fxing typo 2015-10-26 17:01:30 -04:00
Toshio Kuratomi
de54f26376 Update submodule refs 2015-10-26 13:13:11 -07:00
Brian Coca
c271c0eb04 added setting of ansible_ssh_user to current user as backwards compatibilty issue 2015-10-26 16:10:13 -04:00
Brian Coca
4486e136ea Merge pull request #12899 from bcoca/vault_fixes
simplified vault password functions
2015-10-26 14:14:17 -04:00
Brian Coca
5b33b0ddfd Merge pull request #12896 from bcoca/ssh_current_user_config
don't set user to current user
2015-10-26 13:26:43 -04:00
James Cammarata
677a2f95e5 Make sure Base attributes are copied cleanly
Fixes #12882
2015-10-26 12:09:58 -04:00
Toshio Kuratomi
8f77dd1cf2 Update submodule refs 2015-10-26 08:37:37 -07:00
Brian Coca
f3a0adcfa5 added info about using -i 'hostname,' to usage/help 2015-10-26 11:03:15 -04:00
Brian Coca
7ebfe72015 added missing string_types 2015-10-24 15:49:30 -04:00
Brian Coca
8ce864db6f sanatize results 2015-10-24 15:23:12 -04:00
Brian Coca
368f4448dc simplified vault password functions
also fixes #12864
2015-10-24 15:06:43 -04:00
Toshio Kuratomi
92dd563a75 Fix invocation from bad merge and note where it would need to go to keep
it out of registered vars as well.
2015-10-24 07:29:42 -07:00
Brian Coca
f78c82b9ee don't set user to current user
also remove condition to bypass setting user if user matches current user
this enables forcing user when set to the same user as current user and ignoring .ssh/config
while keeping .ssh/config with current user if nothing is specified.
2015-10-23 23:15:45 -04:00
Brian Coca
25e3fe04a8 finalized changed to use abridtged_result instead of result
removed no longer defined no_log
2015-10-23 23:10:57 -04:00
Toshio Kuratomi
b109b83809 Update submodule refs 2015-10-23 14:34:40 -07:00
Toshio Kuratomi
ca32d5bacc Potential fix for #12816 2015-10-23 13:38:44 -07:00
James Cammarata
3eea4e23d5 Manually add plugin directories when running the adhoc command
Fixes #12891
2015-10-23 16:33:51 -04:00
Toshio Kuratomi
3812ec8d1d Implement invocation hiding for all callbacks if the verbosity is low 2015-10-23 11:11:34 -07:00
Brian Coca
275764d4a5 avoid showing invokation when no_log is set or verbosity is low 2015-10-23 14:06:20 -04:00
James Cammarata
63ea614b4c Version bump for 2.0.0-0.4.beta2 2015-10-23 13:34:30 -04:00
Toshio Kuratomi
99c6f77e59 Fix callback 2015-10-23 09:15:22 -07:00
James Cammarata
4fd4f3374a Merge pull request #12879 from larsks/bug/12876
allow include: directive to work during exception processing
2015-10-22 22:15:32 -04:00
Lars Kellogg-Stedman
914f68f9af allow include: directive to work during exception processing
prior to this commit, an attempt to use the `include:` directive would
fail in a `rescue:` or `always:` block if there were failures in the
main block task list.

Resolves #12876.
2015-10-22 22:12:20 -04:00
Toshio Kuratomi
ce2b18174e Merge pull request #12878 from ansible/invocation-fix
Invocation fix
2015-10-22 16:17:40 -07:00
Toshio Kuratomi
2e87c1f74e Two fixes to action plugins
* Fix the task_vars parameter to not default to a mutable type (dict)
* Implement invocation in the base class's run() method have each action
  module call the run() method's implemention in the base class.
* Return values from the action plugins' run() method takes the return
  value from the base class run() method into account so that invocation
  makes its way to the output.

Fixes #12869
2015-10-22 16:07:26 -07:00
Brian Coca
5017a96948 Revert "make callbacks declare needing whitelisting"
another premature merge
This reverts commit df8ff85787.
2015-10-22 16:34:51 -04:00
James Cammarata
86de1429e5 Cleaning up FIXMEs 2015-10-22 16:03:50 -04:00
Toshio Kuratomi
1e50d31cdc Update submodule refs 2015-10-22 10:14:31 -07:00
Brian Coca
df8ff85787 make callbacks declare needing whitelisting
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
2015-10-22 12:30:23 -04:00
Toshio Kuratomi
75cff7129c Fix for invocation not being added to output.
We want invocation to be omitted when we are running async, not when we
aren't running async.
2015-10-22 09:03:35 -07:00
Toshio Kuratomi
6b6d03290a Restore the automatic addition of invocation to the output
Revert "Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data."

This reverts commit 6ce6b20268.

Remove the note that invocation was removed as we've now restored it.

Revert "keyword not in ubuntu 14.04"

This reverts commit 5c01622457.

Revert "remove invocation keyword check"

This reverts commit 5177cb3f74.
2015-10-22 08:53:37 -07:00
James Cammarata
498c27d09a Re-adding role_names magic variable
Fixes #12863
2015-10-22 11:06:47 -04:00
Brian Coca
c267c23020 make callbacks declare needing whitelisting
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
2015-10-22 08:27:32 -04:00
Brian Coca
54e821ca94 added deprecation warning to comma separated role spec 2015-10-22 08:10:51 -04:00
Brian Coca
09899b7c43 Merge pull request #12783 from larsks/bug/12782
correct value of remote_user for local connections
2015-10-22 08:10:07 -04:00
Brian Coca
9886829e40 Merge pull request #12861 from willthames/galaxy_spec_in_meta_main_fix
Allow meta/main.yml to include roles through spec file
2015-10-22 08:01:02 -04:00
Brian Coca
d861e7dd5d moved several directives so they are not settable at play, block, role and task levels 2015-10-22 07:51:22 -04:00
Brian Coca
fc3a44485b skip errors on conditional if task is include
fixes #12843
2015-10-22 07:50:43 -04:00
Will Thames
002972c6cf Allow meta/main.yml to include roles through spec file
ansible-playbook now works when run with a playbook
that includes a role that includes another role
specified using csv format

Updated one of the roles used in the tests to fix
broken tests - `make test_galaxy` now works

Fixes #11486. Also addresses the problem alluded to in #10620.
2015-10-22 13:30:42 +10:00
Brian Coca
08c9e70307 made display part of variable manager and corrected reference to it
fixes #12859
2015-10-21 22:29:27 -04:00
James Cammarata
2b3c5aa41e Support cmd param in Tasks by assigning it to _raw_params
Fixes #12856
2015-10-21 15:47:09 -04:00
James Cammarata
0e447e3f41 Merge branch 'devel' of https://github.com/mathieumd/ansible into mathieumd-devel 2015-10-21 13:59:51 -04:00
James Cammarata
4b20884719 Return correct changed flag when using check mode with template and force=no
Fixes #12844
2015-10-21 13:51:39 -04:00
Brian Coca
04aa7701d1 fix prompt, static methods don't get 'self'
fixes #12833
2015-10-21 12:06:29 -04:00
Toshio Kuratomi
42ce3de8d0 Merge pull request #12853 from ansible/winrm-return-bytes
In v2, exec_command should return bytes and the caller will take responsibility for converting to unicode
2015-10-21 08:42:54 -07:00
Toshio Kuratomi
3d57a202b5 And another fix for docs 2015-10-21 08:40:30 -07:00
Toshio Kuratomi
9dc9a606f6 Correct docs build 2015-10-21 08:36:21 -07:00
Toshio Kuratomi
632d356d22 Update submodule refs 2015-10-21 08:31:58 -07:00
Toshio Kuratomi
6e5055e786 Update the use of no_log values to cover everything that heuristic_log_sanitize does.
Fixes #12792
2015-10-21 08:15:46 -07:00
James Cammarata
ec56b29ba4 Fix setting of interpreter values for delegated hosts
Fixes #12772
2015-10-21 11:05:45 -04:00
Toshio Kuratomi
c845181dc1 In v2, exec_command should return bytes and the caller will take responsibility for converting to unicode 2015-10-21 07:59:46 -07:00
gduke
744679601f Remove mutable default arguments. 2015-10-20 22:13:23 -07:00
Toshio Kuratomi
10e2fc6f60 Update submodule ref 2015-10-20 15:37:50 -07:00
Toshio Kuratomi
1126ce34e3 Merge pull request #12846 from ansible/nolog-for-return-value
Hide values in json returns which were given in parameters marked no_log.
2015-10-20 15:28:16 -07:00
Toshio Kuratomi
c2d188baff Hide values in json returns which were given in parameters marked no_log. 2015-10-20 12:42:36 -07:00
James Cammarata
3ddda2f460 Merge pull request #12842 from mcsalgado/include_with_items
Revert back to copying self._task.args
2015-10-20 15:33:34 -04:00
Brian Coca
1ecad5aed2 now galaxy correctly detects empty requirements file
also allow for 'scm' and 'src' not to be populated in requirements entries
2015-10-20 14:39:22 -04:00
Victor Salgado
c5c5f3bf7a Revert back to copying self._task.args 2015-10-20 16:21:25 -02:00
Victor Salgado
0e671baa33 Fix typo 2015-10-20 16:18:01 -02:00
James Cammarata
b46ce47a84 Don't use local transport for delegated hosts if the inventory_hostname isn't local
For some situations like Vagrant, the remote_addr may be a localhost addr, but ssh
is still desired. This corrects the assumption that any localhost remote_addr should
be using the local connection by checking the inventory_hostname value as well.

Fixes #12817
2015-10-20 14:04:39 -04:00
Toshio Kuratomi
99e7bb35c1 Simplify UnsafeProxy as we don't need to use it for byte strings, only text 2015-10-20 10:57:23 -07:00
James Cammarata
3c87c44af5 Fixing bug in includes caused by 892d9b8
Fixes #12837
2015-10-20 13:49:52 -04:00
Toshio Kuratomi
31ebafcbdd Update submodule refs 2015-10-20 09:22:58 -07:00
Toshio Kuratomi
f34b55ac2b Add python3-compat boilerplate to all .py files in lib/ansible 2015-10-19 18:36:19 -07:00
Brian Coca
de3ca57a33 avoid relative shlex import
fixes #12777
2015-10-19 19:55:22 -04:00
James Cammarata
e5b6d802bf Removing some cruft related to _local_action value on Task, which was removed
Fixes #12819
2015-10-19 16:52:27 -04:00
Mathieu
260a3e5ce7 Fixes #11055 - Set locale via LC_ALL 2015-10-19 21:25:30 +02:00
Toshio Kuratomi
923fc9fb15 Cleanup pyflakes warning (real error) 2015-10-19 12:01:01 -07:00
Toshio Kuratomi
7aa9f6754a Cleanup more pyflakes warnings (2 real problems) 2015-10-19 12:01:01 -07:00
James Cammarata
1fa975d81a Simplify group_by by removing BYPASS_HOST_LOOP from the action
Fixes #12825
2015-10-19 14:57:07 -04:00
Toshio Kuratomi
0888d78b84 Cleanup some pyflakes warning (1 real error) 2015-10-19 11:42:46 -07:00
Toshio Kuratomi
c6d44738ad Clean up some more pyflakes warnings 2015-10-19 11:35:10 -07:00
Toshio Kuratomi
3da8bab3ff Cleanup pyflakes warning (real error) 2015-10-19 11:29:51 -07:00
Toshio Kuratomi
a526eae543 Clean up a few more pyflakes warnings 2015-10-19 11:20:21 -07:00
Toshio Kuratomi
a17ae6f07e Clean up pyflakes warnings in inventory 2015-10-19 11:13:56 -07:00
James Cammarata
892d9b8dfb Move post_validate for tasks after checking for an include
Simplifies logic and prevents us from accidentally post_validating
an include that would otherwise be skipped due to tags causing a
problem because of potentially missing variables.

Fixes #12793
2015-10-19 13:42:17 -04:00
James Cammarata
1cfd941179 Adding a v2 callback for task includes 2015-10-19 13:42:17 -04:00
Toshio Kuratomi
dc33d30c6d Update submodule refs 2015-10-19 10:25:36 -07:00
Toshio Kuratomi
b67e51ea06 Information on when to use to_str() and what a native string is 2015-10-19 09:28:43 -07:00
Toshio Kuratomi
39d9bc3564 Update submodule refs 2015-10-19 09:09:07 -07:00
Toshio Kuratomi
6ce6b20268 Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data. 2015-10-19 09:08:25 -07:00
Brian Coca
1280e2296c changed warning to debug and expanded info on what is really happening, it was a bit misleading 2015-10-18 11:00:50 -04:00
Brian Coca
2d1d21228a updated skippy to match default output 2015-10-18 11:00:50 -04:00
James Cammarata
0bbe9d5bd0 Make hostvars json/yaml serializable in filters
Fixes #12615
2015-10-18 10:09:05 -04:00
James Cammarata
a88c59f451 Reset basedir for plays that are not from a PlaybookInclude
Fixes #12524 (again)
2015-10-17 12:44:28 -04:00
James Cammarata
0aa018337a Fixing logic in json cache plugin get()
Fixes #12722
2015-10-17 11:50:14 -04:00
James Cammarata
5f617c601b Remove obsolute tag evaluation in free strategy
Fixes #12784
2015-10-17 11:29:39 -04:00
Brian Coca
6c8cf8acb7 now profile_tasks callback handles handlers correctly
fixes #12762
2015-10-16 18:01:27 -04:00
James Cammarata
1ab0e0e228 Disable RuntimeWarnings during all() plugin loading
Fixes #12778
2015-10-16 15:34:49 -04:00
Brian Coca
71ffb86c30 don't let cowsay issues stop execution
fixes #12773
2015-10-16 15:20:59 -04:00
Brian Coca
6d87bd405d Merge pull request #12765 from bcoca/lookup_inventory_hostname
implemented inventory_hostname lookup in v2
2015-10-16 15:05:23 -04:00
Toshio Kuratomi
a567f28657 Update submodules for docs fixes# Please enter the commit message for your changes. Lines starting 2015-10-16 11:12:21 -07:00
Toshio Kuratomi
5d8ab9b01b Update module refs 2015-10-16 10:05:57 -07:00
Toshio Kuratomi
b23a083776 Make vault use a mapping of cipher name to classes instead of formatting the name for safety. 2015-10-16 10:05:27 -07:00
Toshio Kuratomi
baa309309d Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version. 2015-10-16 08:21:28 -07:00
Lars Kellogg-Stedman
aa0b7536c9 correct value of remote_user for local connections
When using 'local' connections, privilege escalation would fail if
ansible_ssh_user was in the current context to the same value as
become_user.

This commit ensures that for 'local' connections we reset remote_user to
the local username.

This fixes #12782.
2015-10-16 11:17:58 -04:00
Toshio Kuratomi
28c933ce5e properly fail_json when we don't have ssl on a non-redhat distro 2015-10-16 08:06:32 -07:00
Marius Gedminas
98958ec990 Simplify join expression 2015-10-16 17:39:27 +03:00
Marius Gedminas
56184a3d8c Python 3: avoid %-formatting of byte strings
This is needed for Python 3.4 compatibility; Python 3.5 can use
`b'%s\n' bytestring` again.
2015-10-16 17:18:35 +03:00
Brian Coca
9b088a1e40 implemented inventory_hostname lookup in v2 2015-10-15 13:11:42 -04:00
Brian Coca
aee6de5a76 group_names should not include implied 'all', fixes #12763 2015-10-15 11:46:43 -04:00
James Cammarata
dce58a78c9 Make random cowsay truly random
Also adds a cowsay whitelist config option, because there are some
truly NSFW stencils that come with cowsay by default.
2015-10-15 10:52:53 -04:00
Marius Gedminas
4fb6f62f1b Fix Unexpected Exception: global name 'os' is not defined
I inadvertently introduced it in
ca826508d9 and didn't notice, because
there are no unit tests for playbook_executor.py.  Sorry!

(The "from ansible.errors import *" was used *only* to get the 'os'
module, which makes go "what?")
2015-10-15 10:41:00 +03:00
Marius Gedminas
ab569cea22 Move to_str alias into ansible.utils.unicode
@abadger suggested on IRC that it's useful enough to go into
ansible.utils.unicode.
2015-10-15 10:27:38 +03:00
Marius Gedminas
ca826508d9 Python 3: fix AnsibleError formatting
If you convert the error string to bytes and embed it inside another
error string, you get

  Prefix:

  b'Embedded\nerror\nstring'

which is not what we want.

But we also don't want Unicode in error messages causing unexpected
UnicodeEncodeErrors when on Python 2.

So let's convert the error message into the native string type (bytes on
Python 2, unicode on Python 3).
2015-10-15 09:38:14 +03:00
Toshio Kuratomi
5617f6aad4 Update synchronize to use the correct host when delegating
Fixes #12752
2015-10-14 18:57:10 -07:00
Toshio Kuratomi
85abd61001 Add some more info to docstring 2015-10-14 18:57:10 -07:00
James Cammarata
d923d05a33 Reworking the way all() works in plugin_loader
* Don't throw away the full path of the module code being loaded,
  as this can cause conflicts when files of the same name are being
  instantiated
* Generalize the module loading code

Fixes #12738
2015-10-14 17:53:28 -04:00
James Cammarata
45b803efb4 Properly use test_loader from SharedPluginLoaderObj 2015-10-14 17:53:28 -04:00
Toshio Kuratomi
c8ad55103e Update extras modules ref to fix docs 2015-10-14 08:44:37 -07:00
Toshio Kuratomi
e00eeba9c3 Update submodule refs 2015-10-14 08:06:55 -07:00
James Cammarata
91b0b4d40c Check is_directory() before not is_file() in inventory basedir
Fixes #12742
2015-10-14 11:03:10 -04:00
Brian Coca
c57200925f made syslog import optional as intel's edison custom compiles python w/o it 2015-10-14 09:12:02 -04:00
James Cammarata
ee559e03f7 Merge pull request #12725 from mgedmin/py3k
Python 3: there's no basestring
2015-10-13 16:52:46 -04:00
James Cammarata
e6d3c6745f Revert to using local file/dir tests in inventory instead of loader's
Fixes #12719
2015-10-13 12:04:01 -04:00
Brian Coca
c637d60a8d fixed deprecation message 2015-10-13 11:40:21 -04:00
Brian Coca
f5227d494b added missing cachefile and changed str(e) to to_bytes(e) 2015-10-13 11:15:10 -04:00
Marius Gedminas
9ba6c087d3 Python 3: there's no basestring 2015-10-13 09:56:12 +03:00
Marius Gedminas
f03da5be42 Python 3: there's no iteritems() 2015-10-13 09:47:16 +03:00
James Cammarata
2d77c643e4 Merge pull request #12723 from mgedmin/py3k
Make ansible.vars.unsafe_proxy Python 3 friendly
2015-10-13 02:45:55 -04:00
Marius Gedminas
e511d6d458 Make UnsafeProxy work on Python 3
Instead of str and unicode we have to deal with bytes and str.
2015-10-13 09:41:08 +03:00
Marius Gedminas
af6a316d9b Remove unused import
Fixes ImportError: No module named '__builtin__' on Python 3.
2015-10-13 09:37:48 +03:00
James Cammarata
426187489f Add variable for format parameter 2015-10-13 02:33:18 -04:00
Toshio Kuratomi
8277747a04 Fix password lookup when password file exists and the password is not encrypted 2015-10-12 15:52:03 -07:00
James Cammarata
cd2cb178ae Totally rework the way UnsafeProxy does things 2015-10-12 18:13:09 -04:00
Toshio Kuratomi
15d7f53846 AnsibleModules.log() fix for python3
Also add unittests for AnsibleModules.log()

Fixes #12586
2015-10-12 13:30:27 -07:00
Toshio Kuratomi
b49e0995cb Fix typo 2015-10-12 13:29:04 -07:00
Toshio Kuratomi
b58d7470d4 Cleanup logic and be more paranoid about passwords with spaces 2015-10-12 12:55:33 -07:00
James Cammarata
5c5806d669 Fixing bugs related to jfonfile cache plugin
* corrupt/invalid file causes tracebacks
* incorrect initialization of display/_display in BaseCacheModule class
* tweaking the way errors in get() on jsonfile caches work, to raise
  a proper AnsibleError in that situation so the playbook/task is stopped

Fixes #12708
2015-10-12 13:06:41 -04:00
Toshio Kuratomi
b441bcb678 Fix display when run through a testing framework that overrides stderr/stdout 2015-10-12 10:06:13 -07:00
James Cammarata
d15fcf05f0 Fix bug in the way temp vars were created for templating vars_files
Fixes #12711
2015-10-12 12:17:45 -04:00
Brian Coca
f5f3bf06e4 Merge pull request #12550 from redrampage/remove-pw-salt-deletion
Removed deletion of salt by 'password' lookup
2015-10-12 11:33:19 -04:00
James Cammarata
73661d1761 Merge branch 'devel' of https://github.com/ansible/ansible into devel 2015-10-12 11:30:03 -04:00