Commit graph

206 commits

Author SHA1 Message Date
Chris Church
0ef4e0372b Fixes for WinRM/PowerShell support in v2.
- Add support for inserting module args into PowerShell modules.  Fixes #11661.
- Support Windows paths containing spaces.  Applies changes from #10727 to v2.  Fixes #9999.  Should also fix ansible/ansible-modules-core#944 and ansible/ansible-modules-core#1007.
- Change how execution policy is set for running remote scripts.  Applies changes from #11092 to v2.  Also fixes ansible/ansible-modules-core#1776.
- Use codepage 65001 (UTF-8) for WinRM connection instead of default (CP437), convert command to UTF-8 and results from UTF-8.  Replaces changes from #10024.  Fixes #11198.
- Close WinRM connection when task completes.
- Use win_stat, win_file and win_copy modules instead of stat, file and copy when called from within other action plugins (only when using WinRM+PowerShell).
- Unquote Windows path arguments before passing to win_stat, win_file, win_copy and slurp modules (only when using WinRM/PowerShell).
- Check for win_ping module to determine if core modules are missing (only when using WinRM/PowerShell).
- Add stdout_lines to result from running low level commands (so stdout_lines is available when using raw/script).
- Update copy action plugin to use shell functions for joining paths and checking for trailing slash.
- Update fetch action plugin to unquote source path when using Windows paths.
- Add win_copy and win_template action plugins that inherit from copy and template.
- Support running .bat and .cmd scripts using default system encoding instead of UTF-8.
- Always send PowerShell commands as base64-encoded blobs to allow for running simple PowerShell commands via raw.
- Support running modules on Windows with interpreters other than PowerShell.
- Update integration tests to support above changes and test unicode fixes.
- Add test for win_user error from ansible/ansible-modules-core#1241 (fixed by ansible/ansible-modules-core#1774).
- Add test for additional win_stat output values (implemented by ansible/ansible-modules-core#1473).
- Add test for OS architecture and name from setup.ps1 (implemented by ansible/ansible-modules-core#1100).

All WinRM integration tests pass for me with these changes.
2015-07-24 12:39:54 -04:00
James Cammarata
0fcd53e887 Make sure the command is sudoable before checking for the become password
Fixes #11714
2015-07-24 11:37:26 -04:00
Brian Coca
681eab1158 fix adhoc that broke with assuming step is always in options 2015-07-24 10:03:43 -04:00
Brian Coca
88e1ef8c9b implemented --step in v2 2015-07-23 20:47:40 -04:00
James Cammarata
7bc789ba64 Properly template task names
Also fixes in the correct way the bug in which the role name was
incorrectly showing up twice in the task name.

Fixes #10347
2015-07-23 15:45:36 -04:00
Toshio Kuratomi
f8e4aff4c1 Cleanups:
* Don't reference __class__ when we can use the instance itself
* use isdisjoint() as it can stop once a match is found
* Remove a condtional that was taken care of in the conditonal just above
2015-07-23 12:13:45 -07:00
Brian Coca
4e3f5e3be6 Merge pull request #11708 from bcoca/display_me
adding display to plugins and start moving debug to display
2015-07-23 14:32:18 -04:00
Brian Coca
a6ba149c49 implemented simplified output for adhoc adn command modules as in v1 2015-07-23 13:42:20 -04:00
Brian Coca
851ed45bbf adding display to plugins and start moving debug to display 2015-07-23 10:26:12 -04:00
Toshio Kuratomi
b06353791c Don't pass mode from synchronize action plugin to the ansible module
Fixes https://github.com/ansible/ansible-modules-core/issues/1783
2015-07-23 00:42:27 -07:00
Brian Coca
b678b9828c simplified and normalized lookup search path behaviour 2015-07-22 22:32:37 -04:00
James Cammarata
dfcf6a2016 Skip hosts with no state while iterating tasks in the linear strategy
Fixes #11693
2015-07-22 15:55:11 -04:00
James Cammarata
206ef27268 Add flag to template() so data is not converted to a datastructure
Fixes #11641
2015-07-22 15:05:51 -04:00
James Cammarata
7a9916422a Fixing up error handling for fetch_file ops in connection plugins
* enable batch mode (configurable with a config option, on by default)
  for sftp transfers, so we can catch errors more easily
* general cleanup in the local connection plugin and fetch action plugin

Fixes #11612
2015-07-22 14:25:47 -04:00
James Cammarata
66a8864ae9 Fix environment setting and inheritence
Fixes #11401
2015-07-21 13:57:30 -04:00
James Cammarata
e64989beb4 Moving ConnectionInformation -> PlayContext
Also making PlayContext a child class of the Playbook Base class,
which gives it access to all of the FieldAttribute code to ensure
field values are correctly typed after post_validation

Fixes #11381
2015-07-21 12:13:50 -04:00
James Cammarata
3de6f264dd Fix bug where spaces in the $HOME directory broke things
Fixes #11332
2015-07-20 15:40:49 -04:00
James Cammarata
91a4b866b0 Fix ssh pipelining 2015-07-20 15:40:49 -04:00
James Cammarata
dca36c1d16 Reestablishing the use of tags/when for role duplication detection
Not figuring these in can cause problems with "diamond" pattern relationships,
even though this is still not quite optimal.
2015-07-20 14:37:20 -04:00
Pierre-Louis Bonicoli
fda8fa77ab Fix pyflakes error: use 'msg' variable
Error was: local variable 'msg' is assigned to but never used
2015-07-20 12:41:39 +02:00
Brian Coca
a09ce4bd87 added callback that skipts 'skipped' 2015-07-19 23:55:39 -04:00
Brian Coca
f8905013cd now executes fact search when needed 2015-07-19 18:00:27 -04:00
James Cammarata
2c98b271c8 Make paramiko password detection logic match ssh connection 2015-07-19 02:23:53 -04:00
James Cammarata
3d77723e3d Cleaning up some stuff related to the connection info/become/executable change 2015-07-19 01:12:23 -04:00
James Cammarata
1c185b68be Rearranging some become stuff in relation to action/connection plugins
Moving the make_sudo_cmd() calls back up to the action level so that connection
plugins don't have to know about it at all, and moving some of the become data
(prompt and success_key) into the ConnectionInformation object so they don't
need to be passed around needlessly.
2015-07-19 01:12:23 -04:00
James Cammarata
7a9b5b6fe8 Remove unnecessary make_become_cmd from paramiko exec_command
Fixes #11611
2015-07-19 00:08:09 -04:00
Brian Coca
9dc5607730 Merge pull request #11519 from bcoca/human_readable
new human_readable filter to transform bits and bytes into cake
2015-07-18 23:10:53 -04:00
Brian Coca
115dce028d Merge pull request #11604 from bcoca/faf_deprecated_fixes
fixed first_available_found for template
2015-07-18 23:09:47 -04:00
James Cammarata
271a7f3281 Cleaning up some of the notify/facts logic added earlier to fix problems 2015-07-17 14:44:19 -04:00
Brian Coca
1aa4155266 generalized warning handling, added it to adhoc also 2015-07-17 14:14:15 -04:00
James Cammarata
d4ac73a1bc Adding back capability to display warnings contained in results
Fixes #11255
2015-07-17 13:44:22 -04:00
James Cammarata
5abdd3b821 Handle notifications when coupled with a loop
Fixes #11606
2015-07-17 12:03:04 -04:00
Serge van Ginderachter
8d1549900c fix AnsibleError object name in subelements plugin
fixes #11624
2015-07-17 17:39:31 +02:00
Gerard Lynch
a6c8d30f3e callbacks require a version constant or the v2 code doesn't pass the display param and it gives an error 2015-07-17 15:33:48 +01:00
Brian Coca
a09f6236a5 adapated to v2 2015-07-17 08:55:22 -04:00
Brian Coca
10e5c2b46d fixed var scope 2015-07-17 08:54:28 -04:00
Tom Paine
097ed1f17b Add plugin that profiles playbook tasks
Resubmission of https://github.com/ansible/ansible/pull/11270 to
correct v2 file location.

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

Provides per-task timing, ongoing playbook elapsed time and ordered
list of top 20 longest running tasks at end.
2015-07-17 13:04:31 +01:00
Brian Coca
978390693b changed to default 'auto' as it better describes the use= option 2015-07-16 16:45:04 -04:00
James Cammarata
94fa741f96 Make sure files loaded by template action are decoded properly
Fixes #11247
2015-07-16 15:23:40 -04:00
Brian Coca
5a5b7ff561 fixed first_available_found for template, refactored into common function
added deprecation warning
fixed display.deprecated to make version optional (code already assumed this)
turned warning + 'deprecated' in plugin loader into actual call to deprecated()
2015-07-15 19:47:59 -04:00
Brian Coca
b76cb8f655 now that invocation is only async again, no need to sanitize 2015-07-15 10:40:37 -04:00
James Cammarata
2d870b7112 Fix logic where invocation details are added to results 2015-07-15 10:20:55 -04:00
James Cammarata
0b035a4e35 Unicode in result debug statements caused a traceback 2015-07-15 01:56:28 -04:00
James Cammarata
7dd5600839 Allow empty include files again
Fixes #11582
2015-07-14 08:26:11 -04:00
James Cammarata
6971e92f39 Fixing up some output stuff 2015-07-14 00:23:17 -04:00
Brian Coca
2b723c6130 added missing re import 2015-07-13 20:42:09 -04:00
Brian Coca
3102469b94 fixing become success string 2015-07-13 20:40:40 -04:00
Brian Coca
24b830bbc8 fixed executable for raw module 2015-07-13 16:23:14 -04:00
Brian Coca
c4b6d91275 added skipped to oneline 2015-07-13 15:54:12 -04:00
Brian Coca
8ad52c2e4f readded oneline output feature to adhoc
fixes #11573
2015-07-13 15:43:31 -04:00