Commit Graph

922 Commits (9336281a60aaa726efd2af6136d62a30b3191d48)

Author SHA1 Message Date
Ganesh Nalawade 70bf9b9919
Add backup filename and dir path option for config network modules (#50801)
* Add configurable backup path option for network config modules

Fixes #50283
Fixes #32724

*  Add back_options in network config module argspec
*  Handle backup path options in network action plugin

* Fix review comments

* Add integration tests

* Update changelog
2019-01-24 09:36:16 +05:30
Matt Davis 2cb9ec9f0e fix include_vars non-ASCII error handling (#51198) 2019-01-22 19:35:34 -05:00
Jordan Borean b7620c161a
win_updates - fix category return value to be a list (#51001)
* win_updates - fix category return value to be a list

* remove unstable test alias
2019-01-18 05:35:10 +10:00
Jordan Borean 9fa46e7f94 reboot - Fix connection timeout reset (#51000)
* only reset if we could retrieve the conn timeout
2019-01-17 10:45:41 -05:00
Matt Clay b971ebd343 More path encoding fixes. 2019-01-16 15:44:50 -08:00
Trishna Guha a1ea7e430a
fix ansible_connect_timeout variable in connection plugins and nxos_install_os timeout check (#50965)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-16 14:10:26 +05:30
Abhijeet Kasurde db8702cdb8 Close all open filehandle (#50544)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 10:14:08 -05:00
trogdor_the_burninator 1dac10e5c3 Add AIX support to reboot module (#50353)
* Add ability for reboot module to work for AIX

* changelog for AIX reboot support
2019-01-08 18:12:30 -05:00
Ganesh Nalawade 1e09e21ba1
Fix issue in junos and bigip action plugins (#50636)
*  tmp is not required to be passed to in run()
   within action plugin
2019-01-08 08:43:15 +05:30
Steve Boyd 9693a55286 (action/script) Fix windows absolute path detection when executing powershell script (#50365) 2019-01-07 06:44:54 +10:00
Ganesh Nalawade 71113ee291
Fix backup issue in network config modules and network action plugins common code refactor (#50301)
* Fix backup issue in network config modules

*  Fix `get_working_path` not found issue introduced due to
   backup config code refactor (PR #50208)

*  Further refactor config related action plugins to minimize
   duplicate code

*  Remove unwated imports in config action plugins

* Add common network class for action plugin and related code refactor

* Fix review comment
2019-01-04 16:06:13 +05:30
Nilashish Chakraborty d4db426737
Change net_* default behaviour on missing module (#49923)
* Fix net_base default behaviour

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* New fix

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-12-26 15:33:30 +05:30
Nathaniel Case c093ea5a28
Merge backup functionality across config action plugins (#50208)
* Merge backup functionality across config action plugins

* Port updated cli_config
2018-12-21 10:30:33 -05:00
Nathaniel Case 0b3aa75b7f
Add backup parameter to cli_config (#50206)
* Add backup parameter to cli_config

* Add a unit test for cli_config backup
2018-12-21 09:55:14 -05:00
Toshio Kuratomi 3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
Sam Doran 7c8af3d684 Reboot - Fix VMware ESXi not working by adding appropriate commands (#49637)
* Add commands for VMware ESXi

* Add changelog
2018-12-11 15:30:11 -05:00
Sam Doran c1589c33c4
Reboot - Fix command not found, add Apline support, fix Solaris command (#49272)
* Fix various bugs related in reboot

- Use format strings for consistency and improve debug log messages
- Use local variables instead of class attributes in order to be thread safe
- Run setup module to get distribution and version
- Run find module to get full path of shutdown command
- Use ansible_os_family and ansible_distribution to find commands and args
- Use same command for all Solaris/SunOS distributions
- Move delay calculations to properties
- Reliably check for module run failure
- Fix bug in run_test_command() that accidentally made the method work properly
- Use better exceptions rather than Exception
- Use dict literals rather than constructors
- Correct _check_delay() so it always returns a value, not None
- Don't store and return result in run_test_command() because it's not used anywhere
- add test for post reboot command that fails
- test negative values for delay parameters
2018-12-11 11:05:10 -05:00
Abhijeet Kasurde e464c543f6
Add support for variable_{start,end}_string (#49711)
Template lookup plugin now support variable_start_string and
variable_end_string, just like template module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-11 15:22:12 +05:30
Brian Coca 758ac1846b
match interpreter on stdout also (#49446)
fixes #46980
2018-12-10 11:43:30 -05:00
Andrey Che 64636d9de0 fix synchronize handling of encrypted hosts on delegation (#49460)
* Fix for #49363

* Replaced str() with to_text() as more python version safe

* Changed to comply to errors stragegy
2018-12-04 22:33:58 -08:00
Sam Doran 6200d32c0d Use IndexError in exception (#49488) 2018-12-04 14:12:00 -05:00
Abhijeet Kasurde 3141fda6b4
Misc typos in ce action plugin (#49348)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-30 11:50:00 +05:30
jpdasma 37f66ee15b Fix reboot plugin not working in Illumos/Solaris (#48986) 2018-11-29 09:54:51 -05:00
Sam Doran 5eb7f5781e
Reboot - Fix errors when using Paramiko connection (#49002)
Different connection plugins return different data when throwing exceptions. The Paramiko connection plugin does not return a text sting, which caused an exception.

The ssh connection plugin returns multi-line errors, which makes the debug logs harder to read. Only return the last line in that case in order to make the logs more readable.

When experiencing a connection failure, reset the connection.

Add reset() to paramiko_ssh

Indicate thet conection state is False when running close(). This is needed by the ensure_connected() decorator to work properly.


Co-authored-by: Matt Martz <matt@sivel.net>
2018-11-27 16:48:57 -05:00
Matt Davis 8c1f701e6e
split PS wrapper and payload (CVE-2018-16859) (#49142)
* prevent scriptblock logging from logging payload contents
* added tests to verify no payload contents in PS Operational event log
* fix script action to send split-aware wrapper
* fix CLIXML error parser (return to -EncodedCommand exposed problems with it)
2018-11-26 15:28:21 -08:00
Matt Martz 9773a1f289
Add a Singleton metaclass, use it with Display (#48935)
* Add a Singleton class, use it with Display

* update six import

* Move remaining failes to display singleton

* Fix rebase issues

* Singleton improvements

* Add code-smell for 'from __main__ import display'. ci_complete

* s/self/cls/g

* Add docs for no-main-display

* Address linting issues

* Add changelog fragment. ci_complete

* Implement reentrant lock for class instantiation in Singleton

* Add Display singleton porting guide
2018-11-20 17:06:51 -06:00
Tim Rupp 0e1dca6e8f
Adds the bigip_imish_config module. (#48779)
This can be used to manage bgp configuration on a BIG-IP.
2018-11-16 09:17:57 -08:00
Sam Doran 886433bd5f
Catch and handle quickly shutdown connections in reboot plugin (#48389) 2018-11-12 11:30:46 -05:00
Nathaniel Case 1fff542623
Match config prompts that aren't maint-mode (#47678) 2018-11-12 11:18:06 -05:00
Martin Krizek a80c25cbd9
Do not use str() on exceptions (#46950) 2018-11-09 07:59:30 +01:00
Matt Clay 8c2ccb8b31 Remove unused net_config action plugin. 2018-11-08 22:20:02 -08:00
Matt Clay 92dccb68ec Remove unused ops_config action plugin. 2018-11-08 10:12:21 -08:00
Stefan Siegel ae7b9ea8cd Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux (#47017)
* Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux

/proc/sys/kernel/random/boot_id is available since kernel 2.3.16 and
should be safe to rely on.

The previously used method by checking the system boot time using who -b
turned out to be unreliable: Some systems lacking an RTC report the Unix
epoch as boot time, but the code trying to detect that did't always
work.

Closes #46562

* Change DEFAULT_BOOT_TIME_COMMAND

- change to usinsg /proc by default
- add BOOT_TIME_COMMANDS for BSD, Solaris, and macOS
2018-11-08 09:54:58 -05:00
Michael Cassaniti a2f3f16930 win_updates: Add post search category matching to support product matching (#45708)
* win_update: Add post search category matching to support product matching

* win_updates: Return categories of each update

* win_updates: Documentation fix-up

* win_updates: Adjusted documentation to reflect regex vs sub-string match of post-cat strings

* win_updates: Sped up post-category checking

* win_updates: Updated documentation to suggest querying post-category strings

* win_updates: Simplified saving and checking post-categories

* fixed some issues and added filtered categories to return value

* win_updates: Moved all category matching to occur after initial search

* win_updates: Adjustments to satisfy PowerShell lint checks

* win_updates: Dropped category validation from action plugin

* win_updates: Documentation updates

* win_updates: Fixed plugin unit tests
2018-11-07 19:32:07 +10:00
Deepak Agrawal d2c7665be9
cleanp net_put temp file (#48148) 2018-11-06 12:02:01 +05:30
Yauhen Kirylau 14037443de fix(tasks: synchronize): wrap in sshpass if ssh password was provided (#30743)
* fix(tasks: synchronize): wrap in sshpass if ssh password was provided

Closes #16616

* fix(tasks: synchronize): pass rsync password to sshpass via fd

* fix(tasks: synchronize): use fail_json instead of AnsibleError

* fixup! fix(tasks: synchronize): use fail_json instead of AnsibleError

fix python2 handling

* feat(module_utils: basic: run_command): add optional arguments `pass_fds` and `before_communicate_callback`

* fix(tasks: synchronize): use module.run_command instead of subprocess.Popen

* fixup! fix(tasks: synchronize): use module.run_command instead of subprocess.Popen

remove unused import

* fixup! fixup! fix(tasks: synchronize): use module.run_command instead of subprocess.Popen

pass_fds only if they passed to run_command()
2018-11-05 15:00:34 -05:00
Lindsay Hill a1b0d20368 New voss_config module (#47533)
* New voss_config module

* Updated test import paths as per #46996
2018-11-01 14:07:41 +05:30
Matt Martz 3633e21780
Add missing self._supports_async to uri action plugin (#47677)
* Add missing self._supports_async to uri action plugin. Fixes #47660

* Additional changes needed to support async

* Missed a call to execute_module
2018-10-26 12:16:26 -05:00
Hagen Kuehn 0661f2f213 adds 'success_msg' to valid args for assert module (#47030) 2018-10-24 21:10:10 +02:00
Peter Sprygada 9180d2c7f2 escape default prompt detection in telnet action plugin (#46573)
This change fixes an issue with the default prompt handling.  The value
needs to be escaped otherwise it does not work when converted to bytes.
2018-10-22 13:59:10 -04:00
Dag Wieers 06eabc9783 reboot: Add timeout in error to help troubleshooting (#47216)
* reboot: Add timeout in error to help troubleshooting

So we've been hit by 'Timed out waiting for boot_time check' and it was
unclear what timeout was used for the boot_time check. By adding the
timeout value it is easier to understand the used value, and verify if a
change to the timeout is reflected in the output.

* Add changelog fragment
2018-10-18 14:42:39 -04:00
Daniel Jakots 753711cd12 Register missing parameter reboot_timeout (#46585) 2018-10-08 14:56:40 -04:00
Matt Clay a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
Dag Wieers 8c64b4af7c win_reboot: Fix for ignore post_reboot_delay (#46360)
* win_reboot: Fix for ignore post_reboot_delay

This fixes an issue where win_reboot would be ignoring the provided
post_reboot_delay (and on Windows timing/waiting is everything!)

This must be backported to the v2.7 branch.

* Merge post-reboot handling into run()
2018-10-04 15:44:50 -04:00
Jordan Borean e972287c35 win_exec: refactor PS exec runner (#45334)
* win_exec: refactor PS exec runner

* more changes for PSCore compatibility

* made some changes based on the recent review

* split up module exec scripts for smaller payload

* removed C# module support to focus on just error msg improvement

* cleaned up c# test classifier code
2018-10-02 15:55:53 -07:00
Daniel Jakots 2769a4e2cc Add support for OpenBSD (#46147) 2018-09-28 16:07:44 -04:00
Sam Doran 77f73f6d2a
Use unicode instead of bytes (#46234)
The stdout and stderr values returned from self._low_level_execute() are text, not bytes. This results in an error in Python 3 since str and bytes cannot be concatenated.

Changing to unicode type allows this to work without error on Python 2 and Python 3.
2018-09-28 12:51:17 -04:00
Matt Martz 95e77ac853
Ensure that the src file contents is converted to unicode in diff info (#45744)
* Ensure that the src file contents is converted to unicode in diff info. Fixes #45717

* Fix up and cleanup

* The diff functionality in the callback plugins should have the
  to_text() calls removed since we're now doing it in ActionBase
* catching of UnicodeError and warnings in the callback diff
  functionality from 61d01f549f haven't been
  needed since we switched to to_text so remove them.
* Add a note to ActionBase's diff function giving an example of when the
  diff function will be inaccurate and how to fix it

* Fix callback get_diff() tests

I believe the unittests of callback's get_diff() were wrong.  They were
sending in a list where strings were expected.  Because previous code
was transforming the lists into strings via their repr, the previous
tests did not fail but they would have formatted the test cases output
in an odd way if we had looked at it.
2018-09-20 12:31:48 -05:00
Jordan Borean 5c73d4f4bd
async: use async_dir for the async results file directory (#45461)
* win async: use async_dir for the async results file directory

* tried to unify POSIX and PowerShell async implementations of async_dir

* fix sanity issue
2018-09-20 19:37:54 +10:00
Sam Doran afd8b97fb1
Make sure strings are bytes for Py2/3 compatibility (#45746) 2018-09-18 10:10:47 -04:00