Commit Graph

78 Commits (bbedb9aac458915989a5f0e930dc3cbb4decdbda)

Author SHA1 Message Date
Jordan Borean f0134079e3
win_script: work when argument exceeds stdin buffer size (#33855)
* win_script: work when argument exceeds stdin buffer size

* Added test for large argument being passed
2018-01-18 11:28:33 +10:00
Jordan Borean 9d9c117580 winrm scheme default behaviour (#34908) 2018-01-15 20:25:30 -05:00
Abhijeet Kasurde 3f4dfb2574 WinRM: fix format_exc call (#34233)
This fix adds correct call for format_exc in winrm plugin.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-11 08:43:22 -08:00
Jordan Borean 57ed6a866f windows: Add IPv6 address support and docs to go with it (#34072)
* windows: Add IPv6 address support and docs to go with it

* minor docs fix

* fixed some doc sentances
2018-01-03 09:26:53 -08:00
Jordan Borean 92e52ef515 winrm: attempting to get kerb auth to work on MacOS (#33795)
* winrm: attempting to get kerb auth to work on MacOS

* moved to use pexpect if possible as it is simpler

* Made the pexpect event more lenient around different localisations
2017-12-18 18:49:21 -05:00
Jordan Borean 6e4c690a37
Fix fetch when retrieving a file with a multiple of the buffer size (#33697)
* Fix fetch when retrieving a file with a multiple of the buffer size

* fixed sanity issue
2017-12-12 14:56:21 +10:00
Jordan Borean dccf58efe3
winrm: remove exception appender (#33443)
* winrm: remove exception appender

* went the other way and made the import error msg available in the msg
2017-12-05 10:33:28 +10:00
Brian Coca 22d983c5c1
get_option instead of internal dict (#33191)
* get_option instead of internal dict

* fix slack issue

* not a pugin, revert get_option
2017-11-28 12:00:22 -05:00
Jordan Borean cf662ed74b win_reboot: change to sample system uptime instead of checking port status (#31767)
* win_reboot: change to sample system uptime instead of checking port status

* added connection timeout back in as now we can manually set it per connection.

* some pep8 fixes

* fix up error message on timeout in case an exception wasn't fired

* Changed doc to English (US) and simplified uptime check

* moved conn timeout over to new config connection options
2017-11-20 16:01:22 -08:00
Brian Coca 23b1dbacaf
Config continued (#31024)
* included inventory and callback in new config

allow inventory to be configurable
updated connection options settings
also updated winrm to work with new configs
removed now obsolete set_host_overrides
added notes for future bcoca, current one is just punting, it's future's problem
updated docs per feedback
added remove group/host methods to inv data
moved fact cache from data to constructed
cleaner/better options
fix when vars are added
extended ignore list to config dicts
updated paramiko connection docs
removed options from base that paramiko already handles
left the look option as it is used by other plugin types
resolve delegation
updated cache doc options
fixed test_script
better fragment merge for options
fixed proxy command
restore ini for proxy
normalized options
moved pipelining to class
updates for host_key_checking
restructured mixins

* fix typo
2017-11-16 13:49:57 -05:00
Brian Coca 057eec94ee fixed winrm to use proper task vars (#31072)
it avoids hitting hostvars templating issue and ignoring exception
fixes #30911

also normal var precedence should work for ansible_winrm vars
2017-09-29 11:12:56 +10:00
Matt Clay 68aeaa58a8 Fix dangerous default args. (#29839) 2017-09-12 00:11:13 -07:00
Toshio Kuratomi cc343a4376 Port ansible doc for plugins to use DOCUMENTATION variables
* Using docstrings conflicts with the standard use of docstrings
* PYTHON_OPTIMIZE=2 will omit docstrings.  Using docstrings makes future
  changes to the plugin and module code subject to the requirement that we
  ensure it won't be run with optimization.
2017-09-11 18:34:09 -07:00
Brian Coca 075ead8fb0 fixes to config/setting retrieval
- better variable precedence management
- universal plugin option handling
- also updated comments for future directions
- leverage fragments for plugins
- removed fact namespacing
- added 'firendly name' field
- updated missing descriptions
- removed some unused yaml entries, updated others to reflect possible future
- documented more plugins
- allow reading docs using alias
- short licenses
- corrected args for 'all plugins'
- fixed -a option for ansible-doc
- updated vars plugins to allow docs
- fixed 'gathering'
- only set options IF connection
- added path list and renamed pathspec mostly the diff is , vs : as separator
- readded removed config entries that were deprecated but had no message ... and deprecated again
- now deprecated entries give warning when set
2017-09-09 09:48:22 -07:00
Dag Wieers 1afbe29642 Remove transport_test for some connection types (#28450)
So we are removing the transport_test for the listed connection types,
because they fail to take into account bastion or proxy servers for
testing the transport.

The result of removing this, is that modules using this facility will do
a complete round-trip attempt, running a module, which is a bit heavier but correct.

This fixes #23774
2017-08-26 01:16:40 +02:00
Matt Davis f19ed387a7 fix non-pipelined output parsing in winrm.py (#27606)
* ensures stdout/stderr are converted to text type in py3 to avoid json serialization failures
2017-08-01 14:59:52 -07:00
Jordan Borean 1517db06c5 fix to alllow the winrm plugin to send input with Python 3 (#27474) 2017-07-31 18:35:05 -07:00
Matt Davis 36ad934156 re-enable non-pipelined mode for Powershell (#25012)
* fixes #23986
* fixes 3rd-party Windows connection plugins that don't support pipelining (eg awsrun)
2017-06-26 22:58:09 -07:00
Brian Coca d79315e19e avoid winrm errors when not connecting to winrm (#25921) 2017-06-21 01:13:06 -07:00
Dag Wieers 5553b20828 Collated PEP8 fixes (#25293)
- Make PEP8 compliant
2017-06-02 12:14:11 +01:00
Matt Martz 1eed6c5b3d Convert some more base64 strings to text for winrm, to support async and become (#24796) 2017-05-18 16:06:51 -07:00
Matt Martz e7d8ebf080 Base changes required to allow winrm to work on py3 (#24744) 2017-05-17 14:26:32 -07:00
Matt Davis 98ff93b2db fix spurious warnings with ansible_winrm_kinit_X args (#24380)
* added to pywinrm arg whitelist
* clarified error text on kinit_mode error
* fixes #23822
2017-05-08 11:27:25 -07:00
Matt Davis 73f50b4f9f fix Windows env handling (#22927)
* fixes #22441
* fixes #22655
* moves all env handling into the exec wrapper; this should work for everything but raw, which is consistent with non-Windows.
2017-03-23 17:48:15 -07:00
Toshio Kuratomi 2fff690caa Update module_utils.six to latest (#22855)
* Update module_utils.six to latest

We've been held back on the version of six we could use on the module
side to 1.4.x because of python-2.4 compatibility.  Now that our minimum
is Python-2.6, we can update to the latest version of six in
module_utils and get rid of the second copy in lib/ansible/compat.
2017-03-23 13:35:05 -07:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Matt Davis 42ccf9ca98 tweak transport_tests to avoid logic duplication (#22158) 2017-03-01 15:54:27 -08:00
Dag Wieers 52959ebdc1 wait_for_connection: Wait for system to become reachable (#20011)
* WIP: wait_for_connection: Wait for system to be reachable

This action plugin allows to check when a system is back online and
usable by Ansible.

As an example, when doing a SysPrep and running Enable-WinRM.ps1, it
takes between 10 to 20 seconds between the WinRM TCP port to open, and
it actually being able to server Ansible requests. This time is variable
and depends on the boot process.

Current implementation is specific for Windows (WinRM) only, this will
be fixed shortly.

This fixes #19998

* Support other transport types

* Various improvements

- Fix reported typo
- Add transport_test support in accelerate plugin
- Ensure port is an integer

* Improve examples

* Small fixes

- Use correct ConfigureRemotingForAnsible.ps1 script name
- Only use win_ping when remote shell is known to be Powershell
- Add integration tests to CI framework
2017-03-01 11:00:49 -08:00
Dag Wieers cfb1f72d1c Improve winrm import error message (#20267)
The requests python module is needed, however it is not a dependency of
the python-winrm package. The python-winrm package does require
python-requests_ntlm, which does not seem to pull python-requests.

So for the time being (until Red Hat fixes their package) give a more
informative error message.
2017-02-23 23:42:23 -08:00
Matt Davis 8527013fbe Complete rewrite of Windows exec wrapper (#21510)
* supports pipelining for faster execution
* supports become (runas), creates interactive subsession under WinRM batch logon
* supports usage of arbitrary module_utils files
* modular exec wrapper payload supports easier extension
* integrates async wrapper behavior for pipelined/become'd async
* module_utils are loaded as true Powershell modules, no more runtime modifications to module code
2017-02-17 00:09:56 -08:00
Ssawa 149dd9ca86 Update winrm to allow fetch_file to work on files in use by processes (#18174) 2017-02-09 16:43:52 -08:00
Matt Davis 06353c055a winrm managed kinit (#20416) 2017-01-24 15:04:11 -08:00
Matt Davis b773ae4291 Preserve exit code in winrm exec (#20166)
Raw winrm exec discards the exit code from external processes- this change preserves the exit code if present.
2017-01-16 11:21:48 -08:00
Toshio Kuratomi 4ed88512e4 Move uses of to_bytes, to_text, to_native to use the module_utils version (#17423)
We couldn't copy to_unicode, to_bytes, to_str into module_utils because
of licensing.  So once created it we had two sets of functions that did
the same things but had different implementations.  To remedy that, this
change removes the ansible.utils.unicode versions of those functions.
2016-09-06 22:54:17 -07:00
Toshio Kuratomi a22909c226 Migrate basestring to a python3 compatible type (#17199) 2016-08-23 13:13:44 -07:00
Adrian Likins 8bbbe16d31 try/except xmltodict import, misc cleanups (#16287)
The 'import xmltodict' was causing import
errors when generating documentation. Since
xmltodict is a required but not stdlib module,
throw AnsibleError if unable to import.

Remove unused combine_vars.

Replace a use of 'stdin_iterator == None' with
idiomatic 'stdin_iterat is None'

Misc pep8 cleanups.
2016-08-23 13:07:25 -04:00
nitzmahone c5e0d3d17b prevent spurious pywinrm arg warnings for non-pywinrm connection args 2016-07-05 16:04:59 -07:00
nitzmahone 445a88d3e8 call base _connect() from winrm._connect()
without it, we don't get the base's free become method error check
2016-06-10 14:40:29 -07:00
nitzmahone ece1ed09d5 fix for psuedo-connection hostvars not propagating to connection
(mostly done by jimi-c, tested working)
2016-06-10 10:14:41 -07:00
Matt Martz 0a8d016642 Get binary modules working for windows, assuming .exe for windows 2016-05-12 12:25:08 -05:00
nitzmahone 6373f2b045 error message cleanup 2016-05-04 09:43:41 -07:00
Matt Davis 8bf1c53b21 winrm connection tweaks for pywinrm (#15584)
added warnings for invalid kwargs
sniff supported authtypes (for new pywinrm)
use default authtypes (for old pywinrm)
error on unsupported authtype
allow no username/password to be specified (kerb SSO)
tested w/ old and new pywinrm
hacky CLIXML parsing of stderr
2016-04-25 14:20:27 -04:00
nitzmahone 336b1ae84b add win_reboot action
also includes WinRM connection plugin change to support connection reset
2016-04-11 14:48:39 -07:00
Matt Clay 262c341cda Add connection tests for winrm connection plugin.
These are the same tests used for the other connection plugins,
adapted to use winrm modules and Windows friendly paths.
2016-03-31 08:32:41 -07:00
Matt Davis afc82f6beb Merge pull request #14930 from mholiv/enable_dollar_as_first_char_in_folder_and_userName
Modified files to use single quotes rather than double for file path.…
2016-03-25 07:14:42 +00:00
Toshio Kuratomi de306eb5da Small cleanup to use class attribute directly instead of property for transport names 2016-03-16 11:22:50 -07:00
root 2aba1c211d Modified files to use single quotes rather than double for file path. Powershell does not process $ variables in strings that are single quoted. Powershell DOES process $ variables that are in double quoted strings.
Using single quotes enables ansible to  handle file paths that contain folders that start with $. (i.e. C:/Users/$admin/...)
2016-03-11 14:00:28 -05:00
Toshio Kuratomi 06b2400aae Need to apply to_str to each element of the list so that we don't mix types in the join()
"Third time's the charm"
2016-02-08 20:28:55 -08:00
Brian Coca 81a40ac235 fix winrm erorr formatting 2016-02-08 23:00:19 -05:00
Brian Coca 197bed6fd8 make executable setting connection dependant
winrm shoudl not use executable, rest should?
fixes #14233
2016-02-02 13:13:02 -05:00