Brian Coca
99d775a0c1
fact gathering service_mgr info
...
also added dragonfly facts support
2015-11-02 15:23:47 -05:00
Yannig Perré
4a8d1703d4
New patch against hostvars.py. With this patch, Ansible run lose 50% of time.
...
Little rewrite of previous patch to use sha1 signature.
Use fail_on_undefined to compute sha1 signature.
2015-11-02 21:04:20 +01:00
Toshio Kuratomi
1bc75374dc
Add imports for stdlib modules that are used.
...
This is cleanup that will aid us when we get ziploader implemented for 2.1
2015-11-02 12:02:26 -08:00
Toshio Kuratomi
107d025d8a
Update extras submodule ref for doc fixes
2015-11-02 11:39:57 -08:00
Toshio Kuratomi
99561e88d4
Update submodule refs
2015-11-02 10:56:39 -08:00
Brian Coca
79bf66336b
switched clean_data from hardcoded delimiters to actual currently set jinja2 environment delimiters
2015-11-02 09:00:56 -05:00
Yannig Perré
805f768dab
Clear cache when updating template variables.
2015-11-02 07:57:44 +01:00
Brian Coca
467c29e3db
show task path on 2 vs
2015-11-01 17:43:11 -05:00
Yannig Perré
87a9485b2f
Cache for _do_template call. May result in nice speed improvement (4-5 times faster).
2015-11-01 22:30:55 +01:00
Rene Moser
c09a34bb10
cloudstack: clean up unneeded ";"
2015-11-01 17:13:46 +01:00
Brian Coca
f528ad1848
added xbps pkg mgr to facts
2015-10-31 22:03:12 -04:00
Brian Coca
13bf62d0e6
remove deprecation for :, add ; functionality (its deprecated but it should work)
2015-10-31 16:35:40 -04:00
Brian Coca
d341ba14a5
fixed rekey password handling
2015-10-31 14:13:03 -04:00
Brian Coca
00bc74404a
vault noe preserves permissions on edit and rekey and sets a restricitve default umask for all other cases
2015-10-31 14:13:03 -04:00
Brian Coca
7368030651
removed action plugin as service facts and separate modules don't work yet and this forces gathering facts
2015-10-30 17:56:05 -04:00
Brian Coca
f5b095f6c8
properly sanitize registered vars
2015-10-30 16:42:06 -04:00
Brian Coca
b6c92dacb5
removed key striping as they are read up the chain
2015-10-30 14:03:37 -04:00
Brian Coca
57d3245d0d
remove commented out prints
2015-10-30 14:02:41 -04:00
Brian Coca
7ba4f5ee12
removed no_log redundant code
2015-10-30 14:01:47 -04:00
Brian Coca
b97887ba41
simplified invocation removal, added no_log awareness
2015-10-30 10:17:19 -04:00
James Cammarata
c61499168e
Merge pull request #12962 from bcoca/pull_fixes
...
fixes options for ansible pull
2015-10-30 09:46:09 -04:00
James Cammarata
56e5e72aaa
Make handlers obey run_once (or BYPASS_HOST_LOOP)
...
Fixes #12972
2015-10-30 09:44:35 -04:00
James Cammarata
a5bd92ca4b
Merge branch 'devel_fix_debug_var' of https://github.com/Yannig/ansible into Yannig-devel_fix_debug_var
2015-10-30 08:37:03 -04:00
Brian Coca
237f8c9df7
removed debug print
2015-10-29 20:34:55 -04:00
James Cammarata
479cbfc63c
Don't immediately fail on PlayContext setup
...
As we may end up skipping the task due to conditionals.
Fixes #12774
2015-10-29 19:23:42 -04:00
Brian Coca
9f148fc046
removed requirement of destination and set documented default
2015-10-29 16:28:46 -04:00
Brian Coca
40d22be2ef
fixes options for ansible pull
...
* remove requirement for host patterns, use the defaults
* require destination directory (None in cwd is not a good default)
* fixed usage messages
* updated default inventory to use , and not deprecated :
2015-10-29 16:28:46 -04:00
Brian Coca
b73941b95f
updated submodule refs
2015-10-29 16:06:33 -04:00
Toshio Kuratomi
508bffef02
Update extras submodule ref
2015-10-29 10:20:55 -07:00
Brian Coca
b8bc15fe02
switched to backticks to allow for non bourne shells to work
2015-10-29 12:45:53 -04:00
Yannig Perré
1febf7cb88
Fix for issue #12952 : this code interfere with debug+var and seems to be unnecessary.
2015-10-28 22:09:13 +01:00
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
Jens Peter Schroer
ecae636160
allowing json in lookup template calls
2015-10-23 14:21:46 +02: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
Charles Paul
3d533cb423
fixing calls to fail_json
2015-10-12 08:50:18 -05:00
Brian Coca
50372eecc9
Merge pull request #12455 from privateip/devel
...
added methods for retrieving vapp and vm
2015-10-12 09:37:47 -04:00
James Cammarata
82e76e42e5
Tweak to the way serial percentages are handled
2015-10-12 09:00:43 -04:00
James Cammarata
63e288354e
Fix bug in way omitted values were set
2015-10-12 09:00:27 -04:00
James Cammarata
4c85ae0712
Merge branch 'serial_should_be_string' of https://github.com/klshxsh/ansible into klshxsh-serial_should_be_string
2015-10-12 08:28:07 -04:00
klshxsh
ac00c9ced7
changed 'string' to 'percent' for _serial
...
Note that this allows both integers (e.g. 3) and percentages (e.g. "30%")
Also changed default back to 0 rather than '0'
2015-10-12 12:41:00 +01:00
James Cammarata
eb60ce1b6e
Merge pull request #12703 from keitwb/inventory_file_var
...
Adding the inventory_file var back
2015-10-11 16:04:34 -04:00
James Cammarata
71a1a3c903
Submodule pointer update
2015-10-10 22:31:54 -04:00
Ben Keith
1f82971283
Adding the inventory_file var back
2015-10-10 21:54:28 -04:00
Toshio Kuratomi
45a161b0a1
Merge pull request #12429 from edmstudio/devel
...
Update synchronize module plugin to work on OS X
2015-10-09 16:05:46 -07:00
Petr Mifek
6e035a3e94
Move nested function test for ipv6 to top level in synchronize module.
2015-10-10 00:01:22 +02:00
Brian Coca
45788fbfad
<homer>doh!</homer>
2015-10-09 16:58:01 -04:00
Brian Coca
d24532757c
remove fix for local_action/connection local that is now not needed
2015-10-09 16:53:17 -04:00
klshxsh
4a5e52b2d2
The serial keyword can be specified as a percentage, e.g '30%' or a number e.g. '3'; therefore it needs to be a string to allow both types
2015-10-09 21:34:37 +01:00
Brian Coca
b9d54e9a01
corrects previous fix to deal with missing item key in results dict
2015-10-09 13:01:32 -04:00
Brian Coca
abf2e13955
Revert "Track local_action internally to prevent it from being overridden"
...
This reverts commit 49ca0eb797
.
2015-10-09 13:01:32 -04:00
Brian Coca
101c8785ec
removed changes to make local action equate connection=local and brought it back to equate delegate_to=localhost
2015-10-09 13:01:32 -04:00
Brian Coca
bcb173996b
Merge pull request #12695 from matburt/fix_cache_plugins_for_v2
...
Fix an issue where cache plugins weren't updated in certain scenarios
2015-10-09 11:39:58 -04:00
Brian Coca
fbf4cafab5
on skipped you 'might' not have an item, changed to getattr to avoid keyerror
...
fixes #12683
2015-10-09 11:28:11 -04:00
Matthew Jones
7da478a4f4
Fix an issue where cache plugins weren't updated
...
The first call to persisting facts would work due to the assignment of a
MutableMapping calling __setitem__ but subsequent module fact data would
not be propogated to the fact cache plugins because update() doesn't
invoke __setitem__. This changes the behavior a little bit and ensures
set() is called on cache plugins.
2015-10-09 11:16:41 -04:00
Brian Coca
ec02b255c3
Merge pull request #12689 from soarpenguin/bugfix
...
Remove some warning of undefined name and fix classmethod syntax error.
2015-10-09 11:09:50 -04:00
James Cammarata
770032648a
Show -> localhost for local_action tasks
2015-10-09 10:53:53 -04:00
James Cammarata
f415d39dfd
Merge pull request #12690 from stelligent/devel
...
Use AWS_DEFAULT_REGION env var if none specified
2015-10-09 10:02:48 -04:00
James Cammarata
cfa62e7a2a
Submodule pointer update
2015-10-09 09:50:16 -04:00
James Cammarata
868819f9fa
Make sure shlex split is returning properly encoded strings
...
Fixes #12676
2015-10-09 09:49:27 -04:00
Shayne Clausson
55b3f9e4e5
Use AWS_DEFAULT_REGION env var if none specified
2015-10-09 10:27:36 +02:00
soarpenguin
b11ea17385
fix classmethod syntax error.
2015-10-09 12:46:31 +08:00
soarpenguin
5efa4d29e3
fix some warning of undefined name.
2015-10-09 12:43:42 +08:00
James Cammarata
59d655c543
Double echo temp directory name to handle spaces and ~ expansion both
...
Fixes #12667
2015-10-08 16:22:38 -04:00
Toshio Kuratomi
d1b98ec776
Correct typo
2015-10-08 08:44:25 -07:00
Toshio Kuratomi
2f5e817007
Do not mix byte str with unicode type
2015-10-08 08:31:12 -07:00
Toshio Kuratomi
01ba2e94c0
Wait until later to convert to byte strings for output
...
Also some pre-emptive python3 compat and a code simplification
2015-10-08 08:22:17 -07:00
Brian Coca
76feba00c4
avoid callbacks during syntax check and listing
...
fixes #12682
2015-10-08 10:15:48 -04:00
Brian Coca
4463ced8ba
simpler safe output
2015-10-08 10:15:48 -04:00
James Cammarata
de792ba3c2
Improve handling of unicode errors
...
Fixes #12669
2015-10-08 10:04:15 -04:00
James Cammarata
5a0f5f1254
Load vars for localhost when created implicitly
...
Fixes #12666
2015-10-08 09:26:20 -04:00
Brian Coca
d8769c93c7
updated ec2 region description to add missing other env var
2015-10-07 16:41:58 -04:00
Brian Coca
c77733e64e
added docs for commonly used region parameter in some ec2 modules
2015-10-07 15:52:06 -04:00
Brian Coca
638bc14566
now deps is always a list
2015-10-07 15:41:11 -04:00
Brian Coca
dac3684fd1
changed task color to dark gray to keep it from being confused with ignore/skip
2015-10-07 12:12:35 -04:00
Brian Coca
c459dd4e18
Merge pull request #12663 from Juraci/task-path
...
Displays the absolute path of a given task when verbosity is above level 3
2015-10-07 12:09:21 -04:00
James Cammarata
dbae110f6f
Merge pull request #12660 from apollo13/fix_galaxy_init
...
Show a nice error if the role name is missing.
2015-10-07 10:31:47 -04:00
Juraci
e52950a939
Displaying task_path on task start when verbosity is more than 3
2015-10-07 10:11:50 -03:00
Juraci
254d6be520
Adding get_path method to Task class
2015-10-07 10:10:57 -03:00
Florian Apolloner
354383874f
Show a nice error if the role name is missing.
2015-10-07 11:37:23 +02:00
=
345ce424c6
Explictly set the version of strict mode to use for powershell modules.
2015-10-07 06:24:37 +01:00
James Cammarata
9e364c2eb5
Don't modify results in callbacks
...
Fixes #12654
2015-10-06 21:43:43 -04:00
James Cammarata
8107c4efc7
Fixing a bug in galaxy parsing of text spec file lines
2015-10-06 21:25:28 -04:00
James Cammarata
7a815b7296
Force connection to local when localhost is delegated to
2015-10-06 20:37:57 -04:00
Toshio Kuratomi
97e8d25eb4
Fix for encoding errors when a command returns non-utf8 encoded values
2015-10-06 14:10:25 -07:00
Toshio Kuratomi
4f6f2c21e8
range vs xrange doesn't matter here and six.moves.range isn't available in six-1.3.0 (rhel7)
2015-10-06 12:19:03 -07:00
James Cammarata
5ae74f7d38
Version bump for 2.0.0-0.3.beta1
2015-10-06 08:19:20 -04:00
James Cammarata
d9b79b1bbc
Also template the role name when loading roles
...
Fixes #12602
2015-10-06 03:33:08 -04:00
James Cammarata
9c9897805f
More ansible-galaxy fixes for the old spec file format
2015-10-06 01:54:48 -04:00
James Cammarata
fb822a4305
Merge pull request #12637 from rcleere/rekey_fix
...
Fix ansible-vault rekey
2015-10-05 23:33:32 -04:00
James Cammarata
3b8eaf6128
Cleaning up some ansible-galaxy stuff
2015-10-05 22:59:08 -04:00
Ryan Cleere
0400ab8c0f
Fix ansible-vault rekey
2015-10-05 16:41:34 -05:00
James Cammarata
d91b3c6b9d
Make sure magic variables are available when templating vars_files
...
Also does some reorganization/cleanup on the magic vars/delegated
variable generation portions of VariableManager to make the above
possible.
Fixes #12633
2015-10-05 16:32:58 -04:00
James Cammarata
284bd118a0
Properly switch to the default transport when delegating from localhost
2015-10-05 16:32:58 -04:00
Brian Coca
6f88f79de9
removed dupe install code, now trap errors forom role.install
2015-10-05 13:04:12 -04:00
Brian Coca
f73329401b
galaxy updates
...
better error reporting on fetching errors
use scm if it exists over src
unified functions in requirements
simplified logic
added verbose to tests
cleanup code refs, unused options and dead code
moved get_opt to base class
fixes #11920
fixes #12612
fixes #10454
2015-10-05 11:43:08 -04:00
Brian Coca
a3ed9fc131
updated to 'fixed' get_url so docs build again
2015-10-05 09:07:54 -04:00
Brian Coca
f3d0468726
updated submodule refs
2015-10-05 08:59:10 -04:00
James Cammarata
323012be2e
Pop tags out of playbook include params
...
Fixes #12605
2015-10-05 08:41:34 -04:00
Toshio Kuratomi
10a4a4e986
Quote any file paths that we have to use with dd to copy.
...
This is because we pass the whole dd command string into the shell
that's running on the contained environment rather than running it
directly from python via subprocess without a shell.
2015-10-03 18:07:27 -07:00
Toshio Kuratomi
b83988d9fb
Port libvirt_lxc connection plugin to v2
2015-10-03 17:42:49 -07:00
Toshio Kuratomi
567deb5ac2
Add explicit substitution of relative paths on the remote host just in case the connection programs do something unexpected.
2015-10-03 17:33:57 -07:00
Brian Coca
8528b20702
fixed usage text
2015-10-03 12:02:51 -04:00
Brian Coca
04a2b221b9
removed conflicting short options
2015-10-03 10:05:23 -04:00
James Cammarata
38528c8ef3
Show more info in the minimal callback for unreachable hosts
...
Fixes #12621
2015-10-03 01:41:57 -04:00
Toshio Kuratomi
613e87db6c
FIx typo arg_path (not plural)
2015-10-02 19:55:32 -07:00
Brian Coca
4ba5ebd1c8
Merge pull request #12538 from yesbox/url_lookup_plugin_httperror_fix
...
Fix url lookup plugin HTTPError message not being reachable
2015-10-02 21:30:16 -04:00
Peter Sprygada
ab3239ecd7
added methods for retrieving vapp and vm
2015-10-02 18:01:35 -04:00
Toshio Kuratomi
10750214ea
Since Connection.execute_command() returns bytes, deal with the repurcussions here.
2015-10-02 12:39:36 -07:00
Brian Coca
e2ae3215f6
corrected no_log for items and skipped tasks
...
corrected output from default callback
added new tests for no_log loops
updated makefile test to check for both positive and negative occurrences of no_log
2015-10-02 14:35:33 -04:00
James Cammarata
c28758d2a8
Merge branch 'ssh-args' of https://github.com/amenonsen/ansible into amenonsen-ssh-args
2015-10-02 13:38:00 -04:00
James Cammarata
82faba619e
Also add args_path param to powershell shell plugin
2015-10-02 13:25:26 -04:00
James Cammarata
30d481ac57
Fix old-style (non-python) module support
2015-10-02 12:58:35 -04:00
Toshio Kuratomi
e40e08d799
Update core sumodule ref to fix docs
2015-10-02 09:22:43 -07:00
Abhijit Menon-Sen
b127221f50
Pass default None to getattr, remove repeated call
2015-10-02 21:26:25 +05:30
Abhijit Menon-Sen
96c4dc273a
Set explicit default for ANSIBLE_SSH_ARGS
...
The earlier code behaved exactly as though this default had been set,
but it was actually handled as a(n unnecessary) special case inside the
connection plugin, rather than set as an explicit default.
If the default is overriden either in ansible.cfg or the environment,
the new code will continue to work (in fact, it won't know or care,
since it just uses the value set in the PlayContext).
This is submitted as a separate commit for easier review to address
backwards-compatibility concerns.
2015-10-02 21:26:25 +05:30
Abhijit Menon-Sen
1981bf2b95
Aggregate ssh arguments in PlayContext instead of the connection plugin
...
Using set_host_overrides() in the connection plugin to access the ssh
argument variables from the inventory didn't see group_vars/host_vars
settings, as noted earlier. Instead, we can set the correct values in
the PlayContext, which has access to all command-line options, task
settings, and variables.
The only downside of doing so is that the source of the settings is no
longer available in ssh.py, and therefore can't be logged. But the code
is simpler, and it actually works.
This change was suggested by @jimi-c in response to the FIXME in the
earlier commit.
2015-10-02 21:26:25 +05:30
Abhijit Menon-Sen
3ad9b4cba6
Rework additional ssh argument handling
...
Now we have the following ways to set additional arguments:
1. [ssh_connection]ssh_args in ansible.cfg: global setting, prepended to
every command line for ssh/scp/sftp. Overrides default ControlPersist
settings.
2. ansible_ssh_common_args inventory variable. Appended to every command
line for ssh/scp/sftp. Used in addition to ssh_args, if set above, or
the default settings.
3. ansible_{sftp,scp,ssh}_extra_args inventory variables. Appended to
every command line for the relevant binary only. Used in addition to
#1 and #2 , if set above, or the default settings.
3. Using the --ssh-common-args or --{sftp,scp,ssh}-extra-args command
line options (which are overriden by #2 and #3 above).
This preserves backwards compatibility (for ssh_args in ansible.cfg),
but also permits global settings (e.g. ProxyCommand via _common_args) or
ssh-specific options (e.g. -R via ssh_extra_args).
Fixes #12576
2015-10-02 21:26:25 +05:30
Toshio Kuratomi
f13d5201b8
Update module refs
2015-10-02 08:34:05 -07:00
Brian Coca
4c9f58a152
added no_log censoring to item output
...
should be last commit that fixes #12214
2015-10-02 09:11:41 -04:00
Brian Coca
ba4afcbbb6
added no_log to results
...
normalized outputs to use display class
cleaned up unused imports
2015-10-02 09:11:41 -04:00
Brian Coca
c27bd4fab0
{sudo,su}_user does not imply become
2015-10-02 09:11:41 -04:00
James Cammarata
57372906aa
Pull host/group vars when adding hosts/groups
...
Fixes #12582
2015-10-02 02:47:09 -04:00
James Cammarata
aa3687d736
Fix syntax error for octal in encrypt methods
2015-10-02 02:27:57 -04:00
James Cammarata
538568305a
Submodule pointer update for accelerate module fixes
2015-10-02 00:50:02 -04:00
James Cammarata
8ef78b1cf8
Fixing accelerated connection plugin
2015-10-02 00:50:02 -04:00
Brian Coca
3705d54485
fixed error reporting on splitter
2015-10-01 19:03:04 -04:00
Brian Coca
de2f62bd9e
fixed error reporting for unkown become user
2015-10-01 18:58:16 -04:00
Brian Coca
6d6bfbc3d2
added missing import for pwd, was being obscured by exception catching and fallback
2015-10-01 18:56:30 -04:00
Brian Coca
a680ef66dd
fixed vault password file script execution
2015-10-01 18:49:51 -04:00
Brian Coca
6b842d9c49
fixed incorrect data passing on certain events
2015-10-01 18:49:51 -04:00
Brian Coca
2463922306
fixed error reporting when missing redis import
2015-10-01 18:49:51 -04:00
Brian Coca
6e96188085
added missing entry for dealing with bcc
2015-10-01 18:49:51 -04:00
Brian Coca
6ec5abf1c3
fixed some pyflakes
2015-10-01 14:14:20 -04:00
Abhijit Menon-Sen
49b35ad5dd
Remove mysterious old cruft
...
The two lines were added in 2673eb0a
and modified in 60e1a1f8
, but foo
is completely unused. Removing it doesn't break anything: out it goes!
2015-10-01 20:32:08 +05:30
Brian Coca
fe0e4f27ad
Merge pull request #12584 from amenonsen/fixups
...
Remove an unwanted FIXME annotation
ok, confirmed we don't want to support it
2015-10-01 10:24:58 -04:00
Brian Coca
6c190aa8a4
updated ansible-doc to ignore more stuff that has been added to the module repos
2015-10-01 10:17:41 -04:00
Brian Coca
1a56a5c442
created debug method, renamed debug attribute to _debug
2015-10-01 10:17:41 -04:00
James Cammarata
deff045aa9
Fix bug caused by options not having start_at_task when used through adhoc
...
Fixes #12590
2015-10-01 10:09:58 -04:00
Toshio Kuratomi
a0920c06e1
Pull submodule refs to fix docs builds
2015-09-30 19:57:55 -07:00
Toshio Kuratomi
4dae7eeca1
Update submodule refs
2015-09-30 19:41:56 -07:00
Toshio Kuratomi
56fa9a5098
Port to v2 API
2015-09-30 19:39:07 -07:00
Toshio Kuratomi
d35c9a30fb
Minor refactorings
2015-09-30 19:39:06 -07:00
Toshio Kuratomi
888bcd65a8
Create error messages instead of tracebacks.
2015-09-30 19:39:06 -07:00
Abhijit Menon-Sen
93515468c4
Remove an unwanted FIXME annotation
...
<crab> jimi|ansible: do you think it should be possible to add both
foo:22 and foo:23 to the inventory?
<jimi|ansible> no
…so we don't want an invitation to FIXME.
2015-10-01 06:56:29 +05:30
Toshio Kuratomi
4cfcf5d61b
Merge pull request #12568 from mgedmin/py3k
...
Python 3: fix most tests for ansible.module_utils.basic
2015-09-30 12:47:29 -07:00
Trond Hindenes
94cfbe7ee9
Get-AnsibleParam
2015-09-30 21:02:12 +02:00
James Cammarata
dcb8caf9e8
Remember if we already skipped tasks via --start-at-task
...
Fixes #12482
2015-09-30 14:12:38 -04:00
chouseknecht
57adf11262
Fix metadata description for galaxy_tags.
2015-09-30 13:36:28 -04:00
chouseknecht
f4690e3bfe
Changing tag to galaxy_tag.
2015-09-30 13:36:23 -04:00
chouseknecht
8360a1b3f2
Replace categories with tags.
...
Also added --ignore-certs option for use with install and search commands. Helpful when
overriding server and server has self signed cert.
2015-09-30 13:36:17 -04:00
Abhijit Menon-Sen
0bb34fd076
Make «ansible-vault view» not write plaintext to a tempfile
...
CLI already provides a pager() method that feeds $PAGER on stdin, so we
just feed that the plaintext from the vault file. We can also eliminate
the redundant and now-unused shell_pager_command method in VaultEditor.
2015-09-30 22:13:36 +05:30
Brian Coca
bf06e36382
updated async to pass along no_log setting
2015-09-30 11:52:27 -04:00
Marius Gedminas
cc1e1648f5
Tweak comment style
2015-09-30 18:46:50 +03:00
Marius Gedminas
213029a21e
Python 3: don't convert unicode to unicode
2015-09-30 18:46:49 +03:00
Marius Gedminas
c7be004c19
Python 3 has no dict.iteritems()
...
(Reminder: cannot use six here, module_utils get shipped to remote
machines that may not have six installed -- besides six doens't support
Python 2.4.)
2015-09-30 18:46:49 +03:00
Marius Gedminas
9f3e5ceb14
Make sure 'basestring', 'bytes' and 'unicode' are defined
...
Python 3 doesn't have 'basestring' and 'unicode'.
Python 2.4 doesn't have 'bytes'
2015-09-30 18:40:47 +03:00
Brian Coca
ddafed4403
Merge pull request #12528 from bcoca/task_logging
...
task logging revamp
2015-09-30 11:38:34 -04:00
Brian Coca
7b64126c9d
pushed up openvz detection for cases of 'stacked' virtualization
2015-09-30 11:27:50 -04:00
Linus Unnebäck
45f9800754
facts: correctly detect docker inside a xen host
2015-09-30 17:08:21 +02:00
James Cammarata
3bd71d0619
Use delegated_to field for play context remote_addr, if none other exists
...
Fixes #12527
2015-09-30 09:27:29 -04:00
James Cammarata
40bdf09998
Merge pull request #12561 from srvg/anotherdirpy
...
Inject existing groups at InventoryDir initialization
2015-09-30 08:18:34 -04:00
James Cammarata
6fcd292c5e
Merge pull request #12569 from amenonsen/fixes
...
Bring groups handling in ini.py up-to-date (trivial fix)
2015-09-30 08:16:14 -04:00
James Cammarata
dfa33d0f23
Tweak variable manager use in role includes to avoid test failures
2015-09-30 08:05:55 -04:00
Abhijit Menon-Sen
50d75f8d6d
Bring groups handling in ini.py up-to-date
...
Since c8f2483d
, ini.py expects to always be passed in a pre-created list
of groups, and can no longer deal sensibly with an empty list; this just
makes that expectation clear.
2015-09-30 15:13:37 +05:30
James Cammarata
a89412ecb1
Fail all hosts if a run_once task fails
...
Fixes #12563
2015-09-29 15:10:00 -04:00
James Cammarata
7173f587ed
Allow delegate_to on a role again
...
Fixes #12560
2015-09-29 15:07:32 -04:00
James Cammarata
a3e913da62
Don't assume handlers exist in the same role (if any)
...
Fixes #12536
2015-09-29 14:52:43 -04:00
Serge van Ginderachter
7461ba9998
Inject existing groups at InventoryDir initialization
...
This fixes a corner case where ini files live in a subdir
of the main inventory directory.
Reproducing the original error:
mkdir -p inventory/ini
cat > inventory/ini/hosts << EOF
[www]
www1
EOF
$ ansible -i inventory/ all -m ping
ERROR! 'all'
(or without the [www] group, it would complain about 'ungrouped')
2015-09-29 18:16:05 +02:00
James Cammarata
79e364d98b
Properly template role dependency names
...
Fixes #12505
2015-09-29 09:55:57 -04:00
Marius Gedminas
5edd6d9be4
Python 3: there's no basestring
...
Fixes another failing test.
(I don't want to do a global search/replace for 'basestring' because I
want to have unit tests covering each occurrence. When I run out of
existing failing tests, I'll try to write new ones.)
2015-09-29 09:01:57 +03:00
Toshio Kuratomi
95ede22a1e
Add a comment about the docker connection and usage by non-root users
2015-09-28 22:50:06 -07:00
Toshio Kuratomi
0e110d23f8
Misc cleanups and some fixes for docker connection plugin
...
* Remove extraneous imports
* Fix some error handling
* Enable pipelining
* Disable su since it doesn't work
* Add error message when installed docker is not recent enough to
support this plugin
* Move nested functions to class level
* Make transport a class attribute
* Make exec_command, put_file and fetch_file more robust
2015-09-28 22:35:52 -07:00
Toshio Kuratomi
1d119a1f46
Cleanup some extraneous imports
2015-09-28 22:35:52 -07:00
James Cammarata
ffdba96668
Save the included directory for playbook includes for use as the basedir
...
Fixes #12524
2015-09-29 00:28:45 -04:00
Konstantin Manna
4226e49bc6
bugfix: statement had no effect => statement now has assumed effect
2015-09-28 23:33:48 -04:00
Konstantin Manna
1ccfeafa76
bugfix: use correct close calls
2015-09-28 23:33:32 -04:00
Brian Coca
c1ad96e5cf
removed fixme as it is already implemented below.
2015-09-28 23:32:57 -04:00
RedRampage
922b5c8109
Removed deletion of salt by 'password' lookup
...
Removed deletion of salt param from lookup file by 'password' lookup_filter.
Old behaviour leads to constant changed status when two tasks uses same lookup,
one with 'encrypt' parameter, and other without.
For example:
tasks:
- name: Create user
user:
password: "{{ lookup('password', inventory_dir + '/creds/user/pass' ncrypt=sha512_crypt) }}"
...
# Lookup file 'creds/user/pass' now contain password with salt
- name: Create htpasswd
htpasswd:
password: "{{ lookup('password', inventory_dir + '/creds/user/pass') }}"
...
# Salt gets deleted from lookup file 'creds/user/pass'
# Next run of "Create user" task will create it again and will have 'changed' status
2015-09-28 23:28:01 +03:00
Toshio Kuratomi
12a2585e84
chroot plugin minor touchups:
...
* Disable su as it's not currently working 100% (and was disabled in v1).
* Move BUFSIZE out of the class to match other conenction plugins
* _connect shouldn't return self.
2015-09-28 13:16:56 -07:00
Toshio Kuratomi
7a4266e9c5
One more try -- the error message should reference the become method
...
requested via play context
2015-09-28 11:28:33 -07:00
Toshio Kuratomi
696cf32d63
Correct name of variable
2015-09-28 11:28:33 -07:00
Brian Coca
8d024c3747
Merge pull request #12472 from resmo/for_ansible
...
cloudstack: improvements and tests
2015-09-28 14:27:22 -04:00
Toshio Kuratomi
0dfa1fb43a
Correct call to method typo
2015-09-28 11:24:00 -07:00
Toshio Kuratomi
d827325644
Re-order the methods in ssh.py so that methods needed for implementation are near and just above the relevant public methods.
...
Standard with the rest of the code base.
2015-09-28 10:34:02 -07:00
Toshio Kuratomi
37844a5c1b
Update submodule refs
2015-09-28 09:47:16 -07:00
Toshio Kuratomi
c811668a4d
Merge pull request #12546 from amenonsen/ssh-cleanups
...
A couple of ssh cleanups
2015-09-28 09:46:24 -07:00
Toshio Kuratomi
05af4c8e91
Merge pull request #12471 from amenonsen/pipelining
...
Make pipelining a connection variable
2015-09-28 09:02:43 -07:00
Abhijit Menon-Sen
38c7422da5
Move ControlPersist/Path checking into a separate method
...
This is also peripheral to what _build_command needs, can be improved
and tested independently, and so makes more sense in a separate method.
This commit doesn't change any functionality (and I've verified that it
works with the various combinations: control_path set in ansible.cfg,
ssh_args adding or not adding ControlMaster/ControlPersist, etc.).
2015-09-28 21:11:56 +05:30
Toshio Kuratomi
c3a05b1181
Update to fix one more doc error
2015-09-28 08:38:24 -07:00
Abhijit Menon-Sen
f33d541964
Move sshpass checking into a separate method
...
Checking for sshpass is peripheral to the calling code, so it's easier
to follow when the details are moved into a method.
2015-09-28 20:58:30 +05:30
Abhijit Menon-Sen
565c6f1ae7
Make ansible_pipelining a connection variable
...
SSH pipelining can be a significant performance improvement, but it will
not work if sudoers is configured to requiretty. With this change, one
could have pipelining enabled in ansible.cfg, but use sudo to turn off
requiretty in a separate play (or task) where pipelining is disabled:
- hosts: foo
vars:
ansible_pipelining: no
tasks:
- lineinfile: dest=/etc/sudoers line='Defaults requiretty' state=absent
sudo_user: root
(Note that sudoers has a complicated syntax, so the above lineinfile
invocation may be too simplistic for production use; but the point is
that a separate play can do something to disable requiretty.)
2015-09-28 20:55:14 +05:30
Toshio Kuratomi
fd267989fb
Fix docs build
2015-09-28 08:23:12 -07:00
Toshio Kuratomi
69ebb899a7
Update submodule refs
2015-09-28 07:52:04 -07:00
James Cammarata
c860775b5d
Another fix for --limit in adhoc
2015-09-28 10:39:33 -04:00
James Cammarata
babf47decb
Clean up some bugs related to --limit on adhoc commands
2015-09-28 09:02:24 -04:00
James Cammarata
621575681a
Merge pull request #12542 from amenonsen/qfix
...
Clarify why we add -q only for ssh
2015-09-28 08:18:31 -04:00
Abhijit Menon-Sen
2ce219b5af
Clarify why we add -q only for ssh
2015-09-28 16:00:23 +05:30
Marius Gedminas
9b39af8e9a
Python 3: the StringIO module is gone
...
Fixes 17 failing tests on Python 3.4, restoring the 8 failures we had
last Friday.
2015-09-28 09:28:53 +03:00
Jesper Geertsen Jonsson
353b549eb0
Fix HTTPError message not being reachable
2015-09-27 18:01:19 +00:00
James Cammarata
4cd810a674
Only append -q option for ssh if we're using ssh
2015-09-26 21:27:38 -04:00
James Cammarata
46984a067c
Don't wrap vars from include_vars with UnsafeProxy
2015-09-26 15:16:46 -04:00
James Cammarata
abfeb104df
Merge pull request #12529 from soarpenguin/bug-fix
...
fix no self pointer out of class.
2015-09-26 14:18:58 -04:00
Toshio Kuratomi
342bc97322
Port chroot conection plugin to the latest v2 connection API.
...
Also get pipelining working for people who look to chroot as an example
for their own connection plugins
Note: In the latest v2 API, action handles become but chroot doesn't
reliably handle become. Maybe we need to add a has_become attribute
that the action can display an appropriate error.
2015-09-26 10:00:28 -07:00
Toshio Kuratomi
056a020357
Do not fail if /proc/uptime is not present
...
This can happen in chroot environments that don't have all of /proc
available
2015-09-26 10:00:28 -07:00
Toshio Kuratomi
ae66d01a33
Document how a command is executed on the remote machine
...
Helps connection plugin implementors understand how to structure
exec_command()
2015-09-26 10:00:28 -07:00
James Cammarata
6dd38c2a10
Fix parent attribute lookup to be default
...
Fixes #12526
2015-09-26 11:28:29 -04:00
James Cammarata
a1c38a3fda
Adding delegate_to to Blocks
2015-09-26 11:28:01 -04:00
Brian Coca
bb6141ec41
renamed managed_syslog to no_target_syslog
2015-09-26 08:22:32 -04:00
Abhijit Menon-Sen
8251ab2e37
Update outdated comment
...
Since #12165 was merged, hostnames are properly validated.
2015-09-26 17:32:13 +05:30
Abhijit Menon-Sen
6ff4d40d74
Update outdated comment
...
We now use "sudo -n" instead of "sudo -k && sudo …"
2015-09-26 17:28:22 +05:30
soarpenguin
1ea66e234f
fix logic judgment error.
2015-09-26 15:15:53 +08:00
soarpenguin
2caa52a981
fix no self pointer out of class.
2015-09-26 14:09:56 +08:00
Brian Coca
37a918438b
task logging revamp
...
* allow global no_log setting, no need to set at play or task level, but can be overriden by them
* allow turning off syslog only on task execution from target host (manage_syslog), overlaps with no_log functionality
* created log function for task modules to use, now we can remove all syslog references, will use systemd journal if present
* added debug flag to modules, so they can make it call new log function conditionally
* added debug logging in module's run_command
2015-09-25 23:57:28 -04:00
James Cammarata
60e1a1f8eb
Fix bug in nested lookup where pop is called indiscriminately
2015-09-25 17:16:56 -04:00
Brian Coca
191ae0831d
fixed syntax error
2015-09-25 17:15:26 -04:00
Brian Coca
48412c13b2
fixed copy n paste typo on future code
2015-09-25 17:08:03 -04:00
James Cammarata
bb1101498d
Clean up typo from cdc6c52
2015-09-25 16:58:27 -04:00
James Cammarata
cdc6c5208e
Clean string data run through the template engine
...
Also strip UnsafeProxy off of low level srings and objects to ensure
they don't cause issues later down the road
Fixes #12513
2015-09-25 16:49:31 -04:00
James Cammarata
ae9b34b1d9
Fix for equality checking in Host to make sure things are like types
2015-09-25 16:49:31 -04:00
Toshio Kuratomi
fa9ea32a86
Fix test of whether a result has a failed host
2015-09-25 12:09:27 -07:00
Brian Coca
1c49e3b842
draft shared service code for modules, part of spliting service module
2015-09-25 11:26:21 -04:00
Toshio Kuratomi
41756be4d3
Update core module ref
2015-09-25 07:49:32 -07:00
Toshio Kuratomi
dcdcd9e9c5
Move is_executable to the toplevel of basic.py so we can utilize it from other code
2015-09-25 07:48:57 -07:00
James Cammarata
ccddda1ebc
Merge pull request #12502 from mgedmin/py3k
...
Python 3: make test_variable_manager_precedence pass
2015-09-25 03:05:02 -04:00
James Cammarata
eb8d7dcd14
Make sure formatted strings don't bomb on tuples
...
Fixes #12501
2015-09-25 03:01:42 -04:00
James Cammarata
31d5f88a1d
Use the task loop to calculate multiple delegated hosts
...
Due to the way we're now calculating delegate_to, if that value is based
on a loop variable ('item') we need to calculate all of the possible
delegated_to variables for that loop.
Fixes #12499
2015-09-25 01:41:09 -04:00
Toshio Kuratomi
a1428d6bed
Remove tmp as a parameter to the connection plugins
...
There doesn't appear to be anything that actually uses tmp_path in the
connection plugins so we don't need to pass that in to exec_command.
That change also means that we don't need to pass tmp_path around in
many places in the action plugins any more. there may be more cleanup
that can be done there as well (the action plugin's public run() method
takes tmp as a keyword arg but that may not be necessary).
As a sideeffect of this patch, some potential problems with chmod and
the patch, assemble, copy, and template modules has been fixed (those
modules called _remote_chmod() with the wrong order for their
parameters. Removing the tmp parameter fixed them.)
2015-09-24 13:33:57 -07:00
James Cammarata
95b371dd60
Use AnsibleFileNotFound instead of AnsibleParsingError when YAML files are not found
...
And update portions of code to expect the proper error.
Fixes #12512
2015-09-24 16:27:25 -04:00
Toshio Kuratomi
0250beb68a
Remove compress option from paramiko connection for now
...
It's not available on older versions of paramiko such as shipped in RHEL6
2015-09-24 13:18:00 -07:00
James Cammarata
12df9f2e31
Make hostvars more dynamic again to improve performance with large inventories
...
Fixes #12477
2015-09-24 13:53:44 -04:00
Abhijit Menon-Sen
82b33c381f
We don't need even a token timeout here; just poll once
...
The process is already gone, so there's not going to be any new data
showing up on its stderr; we only want to make sure that we haven't
missed something that was already written. So polling once is enough.
2015-09-24 12:10:16 -04:00
Abhijit Menon-Sen
6e82df451a
Clarify select() handling for ssh connections
...
This change is motivated by an ssh oddity: when ControlPersist is
enabled, the first (i.e. master) connection goes into the background; we
see EOF on its stdout and the process exits, but we never see EOF on its
stderr. So if we ran a command like this:
ANSIBLE_SSH_PIPELINING=1 ansible -T 30 -vvv somehost -u someuser -m command -a whoami
We would first do select([stdout,stderr], timeout) and read the command
module output, then select([stdout,stderr], timeout) again and read EOF
on stdout, then select([stderr], timeout) AGAIN (though the process has
exited), and select() would wait for the full timeout before returning
rfd=[], and then we would exit. The use of a very short timeout in the
code masked the underlying problem (that we don't see EOF on stderr).
It's always preferable to call select() with a long timeout so that the
process doesn't use any CPU until one of the events it's interested in
happens (and then select will return independent of elapsed time).
(A long timeout value means "if nothing happens, sleep for up to <x>";
omitting the timeout value means "if nothing happens, sleep forever";
specifying a zero timeout means "don't sleep at all", i.e. poll for
events and return immediately.)
This commit uses a long timeout, but explicitly detects the condition
where we've seen EOF on stdout and the process has exited, but we have
not seen EOF on stderr. If and only if that happens, it reruns select()
with a short timeout (in practice it could just exit at that point, but
I chose to be extra cautious). As a result, we end up calling select()
far less often, and use less CPU while waiting, but don't sleep for a
long time waiting for something that will never happen.
Note that we don't omit the timeout to select() altogether because if
we're waiting for an escalation prompt, we DO want to give up with an
error after some time. We also don't set exceptfds, because we're not
actually acting on any notifications of exceptional conditions.
2015-09-24 12:10:16 -04:00
Toshio Kuratomi
03127dcfae
remove the stdin return value from connection plugin exec_command() methods
...
The value was useless -- unused by the callers and always hardcoded to
the empty string.
2015-09-24 08:57:19 -07:00
James Cammarata
9d47eabfa4
Merge pull request #12506 from hyperized/devel
...
Add Weekday (0-6) as a number and add weeknumber (00-52)
2015-09-24 11:44:39 -04:00
Toshio Kuratomi
24b9e2e6d1
Update extras submodule ref
2015-09-24 07:18:23 -07:00
Gerben Geijteman
4c20964475
Add Weekday (0-6) as a number and add weeknumber (00-52)
2015-09-24 15:05:44 +02:00
Marius Gedminas
56f2a25bff
Python 3: there's no 'unicode'
2015-09-24 12:53:48 +03:00
Marius Gedminas
6d4618f46f
Python 3: there's no dict.iteritems()
2015-09-24 12:50:00 +03:00
Marius Gedminas
0624797375
Bugfix: if you define a custom __eq__, you must define a __hash__ too
...
Also, on Python 3 the stock object.__hash__ raises an error ("unhashable
type"), and we have code that uses Host instances as dict keys.
2015-09-24 12:46:06 +03:00
Marius Gedminas
a2bc6b4b26
Bugfix: if you define __eq__, you should define __ne__ too
2015-09-24 12:43:33 +03:00
Marius Gedminas
5d29a2eabd
Python 3: shlex.split() wants unicode
...
On Python 2, shlex.split() raises if you pass it a unicode object with
non-ASCII characters in it. The Ansible codebase copes by explicitly
converting the string using to_bytes() before passing it to
shlex.split().
On Python 3, shlex.split() raises ('bytes' object has no attribute 'read')
if you pass a bytes object. Oops.
This commit introduces a new wrapper function, shlex_split, that
transparently performs the to_bytes/to_unicode conversions only on
Python 2.
Currently I've only converted one call site (the one that was causing a
unit test to fail on Python 3). If this approach is deemed suitable,
I'll convert them all.
2015-09-24 12:36:05 +03:00
Toshio Kuratomi
5d3d9cfe0d
Convert to byte strings to avoid UnicodeErrors
...
Fixes #12488
2015-09-23 15:24:17 -07:00
Brian Coca
de18bcb95f
correct typo on error reporting
...
fixes #12495
2015-09-23 10:11:52 -04:00
Abhijit Menon-Sen
40f608a377
A bit more debugging output
...
We used to display input chunks earlier anyway, so this isn't making
things more verbose.
2015-09-23 22:35:14 +05:30
Abhijit Menon-Sen
9700d9c04f
Fix typo in checking select results
...
It's possible for more than one fd to be set, so 'elif' is obviously not
the right thing to use.
2015-09-23 22:32:15 +05:30
James Cammarata
1164e83477
Remove unnecessary calls to save inventory restrictions since 81bf88b
2015-09-23 12:18:09 -04:00
Toshio Kuratomi
89a78ba16e
Update submodule refs
2015-09-23 08:40:59 -07:00
James Cammarata
9e734df0ec
Conditionally poll longer if we're still waiting for an auth prompt
2015-09-23 11:20:11 -04:00
Toshio Kuratomi
5f0f5363b6
Merge pull request #12487 from mgedmin/py3k
...
Fix one more failing test on Python 3
2015-09-23 08:18:17 -07:00
James Cammarata
2898e000a0
Don't use the connection timeout for the select poll timeout
2015-09-23 11:13:12 -04:00
Abhijit Menon-Sen
587054db2a
Send initial data before calling select whenever possible
...
Without this, we could execute «ssh -q ...» and call select(), which
would timeout after the default 10s, and only then send initial data.
(This is a relic of the earlier change where we always ran ssh with
-vvv, so the situation where it would sit quietly never happened in
practice; but this would have been the right thing to do even then.)
2015-09-23 20:09:50 +05:30
James Cammarata
c9a004227e
Improve error catching from malformed playbook data
...
Fixes #12478
2015-09-23 08:56:36 -04:00
James Cammarata
e8e1d9f6fb
Apply --limit to inventory in adhoc commands
...
Fixes #12473
2015-09-23 08:28:38 -04:00
Marius Gedminas
95e655eb67
Python 3: there's no basestring
...
Fixes one failing test.
The long series of module_utils/basic.py fixes were all because
module_utils/basic is imported in ansible/inventory/script.py.
2015-09-23 10:04:26 +03:00
Marius Gedminas
2c4982b58d
Python 3: there's no itertools.imap
...
Because the builtin map() acts like an iterator already.
2015-09-23 10:04:26 +03:00
Marius Gedminas
6708d56a21
Python 3: avoid long integer literals
...
Even Python 2.4 automatically promotes int to long.
2015-09-23 10:04:25 +03:00
Marius Gedminas
f5d4935197
Python 3: treat python as a function in module_utils/basic.py
...
NB: we can't use 'from __future__ import print_function', but luckily
print(one_thing) works fine on both Python 2 and Python 3 without that.
2015-09-23 10:04:25 +03:00
Marius Gedminas
e71a986e16
Python 3: avoid octal constants in module_utils/basic.py
2015-09-23 10:04:25 +03:00
Marius Gedminas
d2bec7f81f
Python 3: avoid "except ..., e:" in module_utils/basic.py
...
Make the code compatible with Pythons 2.4 through 3.5 by using
sys.exc_info()[1] instead.
This is necessary but not sufficient for Python 3 compatibility.
2015-09-23 10:04:25 +03:00
James Cammarata
65630d2ce1
Fixing one more bug related to staticmethods in LookupBase
2015-09-23 02:33:32 -04:00
James Cammarata
cbbb270761
Cleanup bug from moving base lookup methods to staticmethods
2015-09-23 02:26:19 -04:00
Abhijit Menon-Sen
ac98fe9e89
Implement ssh connection handling as a state machine
...
The event loop (even after it was brought into one place in _run in the
previous commit) was hard to follow. The states and transitions weren't
clear or documented, and the privilege escalation code was non-blocking
while the rest was blocking.
Now we have a state machine with four states: awaiting_prompt,
awaiting_escalation, ready_to_send (initial data), and awaiting_exit.
The actions in each state and the transitions between then are clearly
documented.
The check_incorrect_password() method no longer checks for empty strings
(since they will always match), and check_become_success() uses equality
rather than a substring match to avoid thinking an echoed command is an
indication of successful escalation. Also adds a check_missing_password
connection method to detect the error from sudo -n/doas -n.
2015-09-23 01:55:00 -04:00
Abhijit Menon-Sen
840a32bc08
Reorganise ssh.py to cleanly separate responsibilities
...
The main exec_command/put_file/fetch_file methods now _build_command and
call _run to handle input from/output to the ssh process. The purpose is
to bring connection handling together in one place so that the locking
doesn't have to be split across functions.
Note that this doesn't change the privilege escalation and connection IO
code at all—just puts it all into one function.
Most of the changes are just moving code from one place to another (e.g.
from _connect to _build_command, from _exec_command and _communicate to
_run), but there are some other notable changes:
1. We test for the existence of sshpass the first time we need to use
password authentication, and remember the result.
2. We set _persistent in _build_command if we're using ControlPersist,
for later use in close(). (The detection could be smarter.)
3. Some apparently inadvertent inconsistencies between put_file and
fetch_file (e.g. argument quoting, sftp -b use) have been removed.
Also reorders functions into a logical sequence, removes unused imports
and functions, etc.
Aside: the high-level EXEC/PUT/FETCH description should really be logged
from ConnectionBase, while individual subclasses log transport-specific
details.
2015-09-23 01:55:00 -04:00
James Cammarata
95c6fe88e4
Fix handling of conditional vars_files which contain variables
...
Fixes #12484
2015-09-23 01:26:24 -04:00
Toshio Kuratomi
c83f51b7f2
Some LookupBase cleanups:
...
* Make LookupBase an abc with required methods (run()) marked as an
abstractmethod
* Mark methods that don't use self as @staticmethod
* Document how to implement the run method of a lookup plugin.
2015-09-22 16:19:36 -07:00
Toshio Kuratomi
049952fa50
Update submodule refs.
2015-09-22 14:01:53 -07:00
James Cammarata
1e7fd2196d
Fixing synchronize + delegate_to user bug
...
Fixes #12464
2015-09-22 16:06:52 -04:00
James Cammarata
3ffc2783c4
Don't bomb out on handlers with undefined variables in their names
2015-09-22 12:42:02 -04:00
Toshio Kuratomi
4b0d52d2cb
Merge pull request #12420 from ansible/win_prefix_modules
...
Fix for user defined modules not overriding modules from core.
2015-09-22 09:16:38 -07:00
James Cammarata
1076155d8d
When failing because of vars_files templating, try and bubble up the file/line info
2015-09-22 12:13:55 -04:00
Toshio Kuratomi
18e2ee16ef
Fix for user defined modules not overriding modules from core.
...
This fix takes into account that powershell modules are somewhat
different than regular modules and have to be kept separate.
2015-09-22 09:07:37 -07:00
Toshio Kuratomi
f61fb9787d
Update submodule refs
2015-09-22 08:59:10 -07:00
Rene Moser
b43939dfd6
cloudstack: make tags handling idempotence
...
Credits to @jeffersongirao, who provided the patch.
2015-09-22 16:12:35 +02:00
James Cammarata
c30e464388
Additional tweaks to callback output for delegate_to
2015-09-22 09:25:38 -04:00
James Cammarata
513619867a
Show delegated-to host in callback message
...
Fixes #12465
2015-09-22 08:45:04 -04:00
Rene Moser
efd122c2f0
cloudstack: add returns_to_int return handling into utils
...
It is not uncommon that the API returns string for int values e.g. ports in listFirewallRules or listPortForwardings,
2015-09-22 14:44:08 +02:00
Rene Moser
c9a3801a25
cloudstack: common argument_spec and requried_together to utils
2015-09-22 14:36:43 +02:00
James Cammarata
f563b22446
Merge pull request #12461 from mgedmin/py3k
...
Python 3: there's no basestring
2015-09-22 03:11:43 -04:00
James Cammarata
d2949f5449
Merge pull request #12463 from mgedmin/fix-ansible-doc
...
Fix option descriptions in ansible-doc output
2015-09-22 03:10:59 -04:00
James Cammarata
0fb4a6a67b
Tweak to the way new host variables are created for delegated hosts
2015-09-22 03:03:21 -04:00
Marius Gedminas
339790adc4
Fix option descriptions in ansible-doc output
...
Fixes #12462 .
2015-09-22 10:00:33 +03:00
James Cammarata
18adfc6d1a
Set some default vars on hosts created for delegate_to connections
2015-09-22 02:35:01 -04:00
James Cammarata
a22f7b883d
Restrict role param vars to tasks within that role
...
Fixes #12460
2015-09-22 02:14:18 -04:00
Marius Gedminas
fc0dcc3947
Python 3: there's no basestring
...
Fixes one failing test.
Now technically a filename can be a bytestring, even on Python 3. I
hope this is unlikely for Ansible.
2015-09-22 08:42:33 +03:00
James Cammarata
ecf7d8c9ee
Fix relative path bug in copy action
...
Without rebreaking #12055
Fixes #ansible-modules-core/2098
2015-09-22 01:31:03 -04:00
James Cammarata
53794b692c
Merge pull request #12457 from ansible/warn-if-core-modules-not-present
...
Detect if core modules aren't installed and warn if that is the case
2015-09-21 21:15:54 -04:00
Toshio Kuratomi
627f9d73ba
Detect if core modules aren't installed and warn if that is the case
...
Fixes #11206
2015-09-21 12:31:51 -07:00
Brian Coca
d27b73e7b5
fixed case in which boto3 is present but module is not using it yet
2015-09-21 15:16:07 -04:00
James Cammarata
cb7060c9fe
Allow undefined var errors to bubble up when templating vars_files in certain conditions
...
Follow up to 8769f03c
, which allows the undefined var error to be raised
if we're getting vars with a full context (play/host/task) and the host
has already gathered facts. In this way, vars_files containing variables
that fail to be templated are not silently ignored.
2015-09-21 11:57:37 -04:00
Brian Coca
f96255f7fd
fixed typo
2015-09-21 10:10:21 -04:00
James Cammarata
86566e691a
Merge pull request #12447 from mgedmin/py3k
...
Python 3: there is no 'basestring'
2015-09-21 09:39:17 -04:00
James Cammarata
8769f03c16
Also catch AnsibleUndefinedVariable errors when templating vars_files names
...
Fixes #12449
2015-09-21 09:35:06 -04:00
Toshio Kuratomi
2a614c1c0f
Close module file once we're done reading from it
2015-09-21 01:46:29 -07:00
Marius Gedminas
9cdb6ebae3
Python 3: there is no 'basestring'
...
This fixes a failing unit test.
In actual use (which is still quite far), I'm not sure if bytes ->
unicode conversion should be done here (in which case the code will fail
with an AttributeError: 'bytes' object has no attribute 'readlines'), or
inside self._connection.exec_command() (in which case my change is
correct).
2015-09-21 08:48:59 +03:00
Victor Salgado
20bbd66e85
Use dict.get()
2015-09-20 22:54:02 -03:00
James Cammarata
65bf14cbb0
Merge pull request #12431 from hslee16/devel
...
Stops using _groups_list to check for host when using 'add_host'
2015-09-20 18:17:02 -04:00
James Cammarata
88e1aa94fa
Add play context vars to list of variables before post validation
...
Fixes #12437
2015-09-19 21:51:24 -04:00
James Cammarata
05f6e76407
Template handler names before checking to see if they need to run
...
Fixes #12427
2015-09-18 18:54:48 -04:00
James Cammarata
72769d1899
Merge pull request #12432 from mgedmin/py3k
...
Python 3: there's no xrange
2015-09-18 15:33:08 -04:00
James Cammarata
37f2cbc429
Merge pull request #12436 from amenonsen/ranges
...
Support «hosts: foo[1:]» and add tests for split/apply_subscript
2015-09-18 15:32:15 -04:00
James Cammarata
1f5584aa5b
Refactoring delegate_to code
...
Now, instead of relying on hostvars on the executor side, we compile
the vars for the delegated to host in a special internal variable and
have the PlayContext object look for things there when applying task/
var overrides, which is much cleaner and takes advantage of the code
already dealing with all of the magic variable variations.
Fixes #12127
Fixes #12079
2015-09-18 15:25:10 -04:00
James Cammarata
fa69e8ebb8
Fixing some bugs in _compute_delegate() in TaskExecutor
...
* Clearing interpreter settings from variables, so those set for the
original host aren't incorrectly applied to the delegated to host
* Fixed incorrect string for remote user in delegated hosts hostvars
* Properly looking for multiple possiblities in the delegated-to hosts
hostvars (ansible_ssh_host vs. ansible_host)
2015-09-18 15:25:10 -04:00
Peter Sprygada
e45b71d6cd
added new module object to vca
2015-09-18 13:45:37 -04:00
Abhijit Menon-Sen
2fcdb37e7b
Support «hosts: groupname[1:]» notation (~= 'the rest of the group')
2015-09-18 22:28:34 +05:30
Brian Coca
aca83b15e5
Merge pull request #12425 from privateip/devel
...
initial add of vca common module
2015-09-18 11:24:54 -04:00
Brian Coca
11707576a3
fix for AIX network facts
...
fixes #12434
2015-09-18 10:43:53 -04:00
Brian Coca
d7b61db6dc
made boto3 non mandatory
2015-09-18 08:05:33 -04:00
Toshio Kuratomi
fdb1c14004
Update the submodule pointers
2015-09-18 04:49:30 -07:00
Petr Mifek
27f779a7cc
Small clean up and refactor of the rsync target ipv6 observing formatter for synchronize action.
2015-09-18 11:46:33 +02:00
Marius Gedminas
baf9320369
Python 3: there's no xrange
...
Use six.moves.range instead (aliased to xrange on Python 2, aliased to
range on Python 3).
Also I couldn't resist replacing the elaborate chr/ord/randrange dance
with the simpler random.choice(string.ascii_lowercase) that was already
used elsewhere in the Ansible codebase.
2015-09-18 08:52:26 +03:00
Alex Lee
cf289191e5
return None if group does not exist in inventory groups
2015-09-17 15:58:10 -07:00
Petr Mifek
6f3f4dff7a
Change synchronize module plugin to be backwards compatible with RSync 2.6.9 with regard to handling IPv6 addresses.
2015-09-17 23:19:11 +02:00
James Cammarata
cc6627cdd6
Remove custom json encoder cleaner and strip proxy var stuff out before encoding
...
Fixes #12349
2015-09-17 16:04:47 -04:00
James Cammarata
c95d4ca05f
Properly assign search path to environment.loader in template lookup
...
Same fix as was applied in f162990c
to the action plugin
Fixes #12355
2015-09-17 14:47:20 -04:00
James Cammarata
bde5ed9672
Catch worker errors that may be subclassed on others that lead to incorrect exits
2015-09-17 14:46:53 -04:00
Peter Sprygada
8f43d222c0
initial add of vca common module
2015-09-17 14:41:53 -04:00
James Cammarata
053c41e79d
Fix typo in ansible module_utils import from galaxy code
2015-09-17 14:25:48 -04:00
Chrrrles Paul
7b778d8a4b
Merge pull request #12424 from amenonsen/ipv6-ranges
...
Tested. Thanks for spotting and then fixing this -- Allow hexadecimal ranges in IPv6 addresses, not only 0-9
2015-09-17 14:21:03 -04:00
Abhijit Menon-Sen
2d420a9bb7
Allow hexadecimal ranges in IPv6 addresses, not only 0-9
2015-09-17 23:32:58 +05:30
James Cammarata
b386f0c64d
Merge pull request #12423 from amenonsen/split-fixup
...
Remove deprecation warning; now handled in _split_patterns
2015-09-17 14:02:22 -04:00
James Cammarata
a1fffff92c
Merge branch 'addresses' of https://github.com/amenonsen/ansible into amenonsen-addresses
2015-09-17 13:43:05 -04:00
Abhijit Menon-Sen
62ca6b5e35
Remove deprecation warning; now handled in _split_patterns
2015-09-17 23:09:56 +05:30
Abhijit Menon-Sen
575a8b8c77
Merge Host.ipv[46]_address into .address
...
The earlier distinction was never used; .ipv6_address was always a copy
of .ipv4_address, and the latter was always used to set the remote_addr
field in the PlayContext.
Also uses the canonical ansible_host/ansible_port names when setting the
address and port from variables.
2015-09-17 23:03:48 +05:30
James Cammarata
951128d7a6
Merge branch 'hostpatterns' of https://github.com/amenonsen/ansible into amenonsen-hostpatterns
2015-09-17 13:31:51 -04:00
Victor Salgado
14fefebaad
Modify _split_pattern to use map when working with list input
2015-09-17 13:52:54 -03:00
James Cammarata
46baed864f
Submodule update after correcting doc bug
2015-09-17 11:30:38 -04:00
James Cammarata
0beb37a121
Submodule update
2015-09-17 11:26:54 -04:00
James Cammarata
ba82e57445
Merge branch 'sudo_on_if_needed' of https://github.com/apollo13/ansible into apollo13-sudo_on_if_needed
2015-09-17 11:03:27 -04:00
Toshio Kuratomi
8532ddd5ed
typo in formatting the warning message
2015-09-17 08:01:43 -07:00
Toshio Kuratomi
4ae5512fb0
Restore python3 compat fix and fix AnsibleError undefined before use
2015-09-17 07:45:21 -07:00
James Cammarata
c881b1acae
Merge pull request #12407 from mgedmin/py3k
...
Python 3: basestring in play_context.py
2015-09-17 10:40:57 -04:00
James Cammarata
8acbc00853
Fixing groups variable structure to match v1
...
Fixes #12418
2015-09-17 10:24:03 -04:00
Abhijit Menon-Sen
349eec7855
Fix missing colon (typo) in IPv6 pattern
2015-09-17 19:34:33 +05:30
Abhijit Menon-Sen
2405861a9e
Use ',' instead of ':' or ';' to separate host patterns
...
The earlier-recommended "pat1:pat2:pat3[x:y]" notation doesn't work well
with IPv6 addresses, so we recommend ',' as a separator instead. We know
that commas can't occur within a pattern, so we can just split on it.
We still have to accept the "foo:bar" notation because it's so commonly
used, but we issue a deprecation warning for it.
Fixes #12296
Closes #12404
Closes #12329
2015-09-17 19:31:16 +05:30
Florian Apolloner
d9f873495e
Ported over #7158 to support SELinux context switches.
2015-09-17 15:03:46 +02:00
Brian Coca
ee840f3029
fixed function signature
2015-09-17 07:47:51 -04:00
Florian Apolloner
decd9e8710
Only use become if the target user difers from the current remote user.
2015-09-17 12:24:16 +02:00
Marius Gedminas
8243954dcd
Python 3: basestring in play_context.py
2015-09-17 08:08:55 +03:00
Toshio Kuratomi
3db8070aa3
Fix urlopen usage to use open_url instead
...
Add a travis test for urlopen usage
2015-09-16 20:40:17 -07:00
James Cammarata
e97d448838
Cleanup one more missed inventory bug
2015-09-16 16:53:08 -04:00
James Cammarata
5db9e38377
Merge pull request #12345 from mgedmin/py3k
...
Python 3: two more instances of 'basestring'
2015-09-16 16:49:46 -04:00
Chris Church
43b15ab9a4
Merge pull request #12385 from cchurch/winrm_put_empty_file
...
Enable winrm put_file to upload an empty file.
2015-09-16 16:46:01 -04:00
Chris Church
93af0b327f
Merge pull request #12384 from cchurch/powershell_strict_mode
...
Add PowerShell exception handling and turn on strict mode.
2015-09-16 16:45:40 -04:00
Chris Church
0325f92b6a
Merge pull request #12054 from cchurch/winrm_options
...
Support additional options for WinRM connections via inventory variables
2015-09-16 16:39:18 -04:00
Chris Church
c5409ab493
Remove ansible_winrm_ host/port/user/pass options, update exception handling around establishing a winrm connection.
2015-09-16 16:38:19 -04:00
Chris Church
056c6b77d0
Support additional options for WinRM connections via inventory variables.
2015-09-16 16:38:18 -04:00
James Cammarata
11c27078c0
Cleaning up inventory bugs from earlier group change
2015-09-16 16:36:27 -04:00
Chris Church
1d15e8f37a
Pass windows command as-is without splitting/rejoining parameters.
...
* Fixes extra spaces added between parameters from https://github.com/ansible/ansible-modules-core/issues/1929
* Correctly decode PowerShell command encoded as UTF-16-LE so that it displays correctly in debug messages, fixes the other issue from https://github.com/ansible/ansible-modules-core/issues/1929
* Add test to verify that script parameters are passed as-is, so $true is interpreted as a boolean, fixes https://github.com/ansible/ansible/issues/10947
2015-09-16 16:30:10 -04:00
Victor Salgado
54f1560d3e
Fix mutable default argument
2015-09-16 16:49:45 -03:00
James Cammarata
33e79203ce
Merge branch 'quinot-topic/crash_empty_inventory' into devel
2015-09-16 13:15:40 -04:00
James Cammarata
c8f2483d6d
Cleaning up default group creation in inventory parsers
2015-09-16 12:54:54 -04:00
Toshio Kuratomi
30552cf7e9
Fix problems with undefined references to self.display and remove method that's no longer called
2015-09-16 09:27:28 -07:00
James Cammarata
3f8e12d1f7
Merge pull request #12359 from cchurch/fetch_no_fail_on_missing
...
Fix fetch to not fail for missing file when fail_if_missing=False
2015-09-16 11:05:39 -04:00
James Cammarata
4429e7611b
Merge pull request #12382 from AxelDelmas/env_async
...
Added env_string in async_cmd
2015-09-16 11:04:40 -04:00
James Cammarata
e899b8e70d
Merge branch 'topic/crash_empty_inventory' of https://github.com/quinot/ansible into quinot-topic/crash_empty_inventory
2015-09-16 10:08:43 -04:00
James Cammarata
b2848bd25f
Merge pull request #12389 from amenonsen/minus-t
...
Set PlayContext.timeout from the value specified by -T on the command-line
2015-09-16 09:49:39 -04:00
James Cammarata
d91ff0db74
Fixing parent block serialization for blocks
...
Fixes #12395
2015-09-16 09:29:16 -04:00
Thomas Quinot
c005f75469
Always create 'all' group
...
Create 'all' even if host_list is empty, as this group needs to exist
when creating the implicit 'localhost' host.
Fixes #12391
2015-09-16 12:24:06 +02:00
Abhijit Menon-Sen
85bb508f26
Set PlayContext.timeout from the value specified by -T on the command-line
...
Fixes #12372
2015-09-16 08:57:25 +05:30
James Cammarata
2a50957ad8
Fix galaxy install dep failure
...
Also fixes issue where force does not force reinstall of deps
Fixes #10425
2015-09-15 17:31:47 -04:00
Toshio Kuratomi
1a39e32a13
Update core modules ref
2015-09-15 14:26:09 -07:00
Chris Church
6ab4cff7db
Enable winrm put_file to upload an empty file.
2015-09-15 17:21:27 -04:00
Chris Church
5c65ee7f0c
Add PowerShell exception handling and turn on strict mode.
...
* Add exception handling when running PowerShell modules to provide exception message and stack trace.
* Enable strict mode for all PowerShell modules and internal commands.
* Update common PowerShell code to fix strict mode errors.
* Fix an issue with Set-Attr where it would not replace an existing property if already set.
* Add tests for exception handling using modified win_ping modules.
2015-09-15 16:32:35 -04:00
James Cammarata
a1948dd1c1
Merge branch 'bcoca-normalize_plugin_paths' into devel
2015-09-15 14:48:11 -04:00
James Cammarata
a7e1113b26
Removing FIXME comment which is no longer required
2015-09-15 14:47:49 -04:00
James Cammarata
d818a72375
Merge branch 'normalize_plugin_paths' of https://github.com/bcoca/ansible into bcoca-normalize_plugin_paths
2015-09-15 14:41:09 -04:00
Axel Delmas
4802641de7
Added env_string in async_cmd
2015-09-15 20:11:14 +02:00
James Cammarata
60c139e482
Fix logic for changed/failed_when + retry/until loops
...
Fixes #11809
2015-09-15 13:37:35 -04:00
James Cammarata
8e664ad226
Fix delegate_to localhost vs. 127.0.0.1 (and ::1)
2015-09-15 13:08:54 -04:00
James Cammarata
38573c55bf
Tweak failure condition for field attributes expected to be strings
2015-09-15 13:08:40 -04:00
James Cammarata
cfdaec0c22
Make sure string attributes are strings from YAML to avoid bad type conversions
...
Fixes #12367
2015-09-15 12:17:55 -04:00
Brian Coca
b6d6c2e4db
corrected all missing paths changes
2015-09-15 11:57:54 -04:00
Brian Coca
4aea1f6568
normalized plugin paths and names and configs
2015-09-15 11:44:09 -04:00
Brian Coca
02372e9761
Merge pull request #12371 from apollo13/patch-1
...
Remove duplicate SU_PROMPT_LOCALIZATIONS
2015-09-15 09:54:07 -04:00
Florian Apolloner
9334046189
Remove duplicate SU_PROMPT_LOCALIZATIONS
2015-09-15 10:40:25 +02:00
gptech
1c6be7b9ba
Replace 'degug' with 'debug'
...
Tiny typo fix.
2015-09-14 23:21:03 -04:00
Andriy Yurchuk
af213241ab
Fix typo
2015-09-14 21:11:40 +02:00
Brian Coca
e7807c4f2d
Merge pull request #12339 from emonty/feature/openstack-no-log
...
Add no-log parameter to common openstack args
2015-09-14 15:03:09 -04:00
James Cammarata
4f30db8ca5
Check if path is /dev/null when checking if a file is in fact a file
2015-09-14 14:41:22 -04:00
Chris Church
260b9f648c
Fix fetch action plugin to not fail if file is missing and fail_if_missing=False (the default). Add tests to test_fetch role to verify it works as expected.
2015-09-14 14:21:52 -04:00
James Cammarata
feee4613cd
Merge pull request #12357 from apollo13/become_fix
...
Fixed #12356 -- Restored ansible 1.9.x become behavior.
2015-09-14 12:27:45 -04:00
James Cammarata
49ca0eb797
Track local_action internally to prevent it from being overridden
...
Fixes #12053
2015-09-14 12:11:58 -04:00
Florian Apolloner
8182eb3787
Fixed #12356 -- Restored ansible 1.9.x become behavior.
2015-09-14 17:53:14 +02:00
Marius Gedminas
9877a5c415
Python 3: two more instances of 'basestring'
...
Fixes two failing tests on Python 3.4.
2015-09-14 08:27:39 +03:00
Monty Taylor
3bdd6793ca
Add no-log parameter to common openstack args
...
These bad boys can contain secret data, so should be marked no-log.
2015-09-13 19:48:37 +02:00
James Cammarata
aa762bb432
Don't split args out unless we're parsing module args using the new style
...
Fixes #12331
2015-09-12 17:50:05 -04:00
James Cammarata
1cb4e0be1c
Fix bug in implicit block squashing where block is not reassigned
...
Fixes #12333
2015-09-12 11:27:30 -04:00
James Cammarata
7deb8bbd1c
Reworking how includes within handlers are run
...
Fixes #12238
2015-09-12 08:46:29 -04:00
Brian Coca
03758151e4
Merge pull request #12330 from cchurch/revert_find_plugin_changes
...
Revert "Fix order of loading of modules."
2015-09-11 20:05:37 -04:00
Brian Coca
9d4d7bd74d
fixed porting bugs in profile_tasks to v2
2015-09-11 16:48:09 -04:00
Chrrrles Paul
ba7734b78b
Merge pull request #12165 from amenonsen/address-parsing
...
Hi @amenonsen - thanks for fixing up the hunting down the unicode bug and expanding test_addresses. The code looks good, merging!-- Be systematic about parsing and validating hostnames and addresses
2015-09-11 15:25:50 -05:00
James Cammarata
4156bcedf5
Fix typo in 049a48f
2015-09-11 15:54:24 -04:00
Chris Church
ed3a9795d4
Revert "Fix order of loading of modules."
...
This reverts commit 4b895f04e3
.
2015-09-11 14:16:30 -04:00
James Cammarata
1243686b90
Submodule update
2015-09-11 13:11:15 -04:00
Abhijit Menon-Sen
049a48f3d3
Test state.tasks_child_state before dereferencing
...
I hit a traceback in the FAILED_TASKS case, but it seemed prudent to add
guards in the other similar branches.
2015-09-11 21:59:08 +05:30
James Cammarata
df89f03627
Fixing precedence order for new nonpersistent vars (set_fact/register)
...
These used to go in vars_cache, so merging them in after that as they
are "live" variables and the user would most likely want to see these
above anything else.
2015-09-11 12:24:44 -04:00
Abhijit Menon-Sen
7479ab47e0
Be stricter about parsing hostname labels
...
Labels must start with an alphanumeric character, may contain
alphanumeric characters or hyphens, but must not end with a hyphen.
We enforce those rules, but allow underscores wherever hyphens are
accepted, and allow alphanumeric ranges anywhere.
We relax the definition of "alphanumeric" to include Unicode characters
even though such inventory hostnames cannot be used in practice unless
an ansible_ssh_host is set for each of them.
We still don't enforce length restrictions—the fact that we have to
accept ranges makes it more complex, and it doesn't seem especially
worthwhile.
2015-09-11 21:47:19 +05:30
Abhijit Menon-Sen
065bb52109
Be systematic about parsing and validating hostnames and addresses
...
This adds a parse_address(pattern) utility function that returns
(host,port), and uses it wherever where we accept IPv4 and IPv6
addresses and hostnames (or host patterns): the inventory parser
the the add_host action plugin.
It also introduces a more extensive set of unit tests that supersedes
the old add_host unit tests (which didn't actually test add_host, but
only the parsing function).
2015-09-11 21:47:18 +05:30
James Cammarata
49803509b4
Make sure include paths are templated before dwim in case they're absolute
...
Fixes #12327
2015-09-11 11:57:43 -04:00
James Cammarata
4cdd9b2a82
Merge pull request #12318 from mgedmin/py3k
...
Python 3: make ansible.template.safe_eval() work
2015-09-11 10:44:37 -04:00
Brian Coca
52f587cac3
Merge pull request #12325 from quinot/topic/wrong_interp_test
...
Test for Python must be against basename of interpreter
2015-09-11 09:47:49 -04:00
James Cammarata
c2115c3715
Re-adding part of 926f127
which was actually fixing #12277
2015-09-11 09:45:27 -04:00