Commit graph

57 commits

Author SHA1 Message Date
Brian Coca
efec744539 fixed incorrect example 2016-09-14 10:16:23 -04:00
Brian Coca
da0dac3841 removed chdir / as it breaks tasks
fixes #17466
2016-09-12 12:39:33 -04:00
Monty Taylor
6ba5dc3188 Don't change to root dir in async_wrapper (#4779)
The daemonizing code here is taken from an ActiveState recipe, which
includes changing to / as a general best practice. While that is
normally true to allow for deleting the directory that the daemon
process started in, in this case it is not relevant as this is not
intended to be an actual long-running daemon.

Issue ansible/ansible#17466
2016-09-12 12:31:40 -04:00
Brian Coca
8e0cc9d370 updated include_role docs 2016-09-06 14:05:43 -04:00
Matt Clay
982c4557d2 Python 3 fixes for async_wrapper and async_status. (#4671) 2016-09-02 18:35:14 -07:00
Matt Clay
05c6707a32 Make async_wrapper ignore '_' as an argsfile. (#4678)
This provides support for passing additional positional parameters to async_wrapper.
Additional parameters will be used by the upcoming async support for Windows.
2016-09-02 18:19:29 -07:00
Michael Scherer
6dd2bc2bff Make async work on python 3 (#4583)
Since dict no longer have a iteritems method, we have to
use six to support python 2 and 3.
2016-08-31 08:18:54 -07:00
James S. Martin
978716cf4c Shows messages for uncaught exceptions from called modules in async_wrapper output. (#4591) 2016-08-30 10:10:01 -04:00
Brian Coca
5d90b86d82 added docs for vars_from/defaults_from 2016-08-26 21:56:19 -04:00
Brian Coca
c5e13ca0ed updated include_role docs to latest info 2016-08-26 16:40:00 -04:00
Brian Coca
6eab2b3d40 1st draft of include role docs 2016-08-26 13:27:15 -04:00
Brian Coca
d64060ace0 updated docs to reflect new feature 2016-07-24 21:32:44 -04:00
Brian Coca
4c59da1cf4 documenting behaviour as clear as possible 2016-07-15 09:49:47 -04:00
James Cammarata
799159b8ee Removing erroneous import from async_status 2016-07-07 13:45:21 -05:00
James Cammarata
b75f305079 Ensure async wrapper and status return consistent fields 2016-07-07 13:41:50 -05:00
James Cammarata
28567b6ea0 Merge pull request #4051 from Shrews/async_atomic_move
Use os.rename() in async_wrapper
2016-07-07 11:28:49 -05:00
Brian Coca
2373810034 updated set_fact docs with note about typing 2016-07-06 11:14:42 -04:00
David Shrewsbury
4e239f6ce0 Use os.rename() in async_wrapper
Because the async_status module will read from the same file that
the async_wrapper module is writing, it's possible that the file
may not be fully synced during a read, causing spurious failures.
Use a temp file to do an atomic operation on the file. We can't
use atomic_move() here as that doesn't work properly under async.

Also, let's not read concurrently from the same file the subprocess
is writing to. Instead, capture stdout/stderr via PIPE and write to
the file to avoid nasty races.
2016-06-29 09:53:47 -04:00
Brian Coca
77b4a0367c updated docs in pause to reflect 0 value behaviour 2016-06-27 09:36:10 -04:00
Stanislav Antic
f0f5272f90 Fix wait_for on python < 2.6 (#3790) (#3973) 2016-06-17 10:04:26 -04:00
Brian Coca
a1e6311197 reverted need for module utils imports 2016-06-16 18:12:38 -04:00
Brian Coca
ab4ec24813 added missing import
readded raise
2016-06-16 15:55:45 -04:00
Brian Coca
4a0c483e09 exception ans sys.exit fixes 2016-06-16 15:27:37 -04:00
Toshio Kuratomi
f9b28aaae3 Fix exception handling in async_wrapper 2016-06-16 12:21:57 -07:00
Brano Zarnovican
3456c24b96 Py2.4: SystemExit in async_wrapper is not an error - compatibility fix
Prior to Python 2.5, SystemExit was a subclass of Exception.
In Py2.4, this is causing extra error output on valid sys.exit(0).

(Toshio) Call sys.exit from inside of the SystemExit exception handler so py2.4 and py2.5+ behaviour matches
2016-06-15 10:28:09 -07:00
codemeup @ Work
1e0bb94ced Fixing compile time errors irt (, e => as e, print(), ocat now 0o not 0) exception handling for Python 3 (#3851)
* Fixing compile time errors irt a) exception handling for Python 3 in util, also: b) problem octal usage (fixed) and c) print json_dump -> print(json_dump(xyz) ... et al

* This code was not Python 2.4 compliant. Octal codes and exception handling is now working with Py 2.4, 2.6, & 3.5.

* Fixing formating (or rather reverting an non 2.4 compatible change). Works in compile & runtime checking.

* a) revert to use print sys.stderr not fail_json; b) fixed var name in exception

* Python 3 compatible print (print >>sys.stderr will generate a TypeError - now uses sys.stderr.write instead).
2016-06-13 11:40:13 -07:00
Michael Scherer
3a20fc4d0c Fix wait_for to compile on python3 (#3722) 2016-05-23 09:34:27 -04:00
Michael Scherer
0e75317904 Do not use a tuple as argument for _create_connection (#3655) 2016-05-17 10:08:12 -07:00
vaupelt
67de0675c3 exclude_hosts does not work as expected with state=drained
There are established connections for a service. The service is bound to a ipv4-mapped ipv6 address. Wait_for wrongly waits for clients listed in exclude_hosts.
2016-04-21 13:11:55 -04:00
Toshio Kuratomi
6e5b09f3a8 Allow async to not need an args file since new-style modules have args embedded 2016-04-01 19:50:58 -07:00
Matt Davis
4f5d02f08f Merge pull request #2463 from nitzmahone/async_status_error_masking
mark failed async_status as finished
2016-03-09 22:51:28 +00:00
Toshio Kuratomi
caf4b759b9 Specify types in argument_spec instead of code so that checking type vs default value does not trigger 2016-02-28 22:31:43 -08:00
Brian Coca
649689bfb6 documented new verbosity option 2016-02-18 07:01:53 -08:00
Brian Coca
21f6390fa3 clarified set_fact function 2015-11-17 10:05:15 -08:00
nitzmahone
077f8131aa mark failed async_status as finished
Running async_status in an "until: result.finished" loop will mask a module failure (eg, traceback) with a
template failure, because the fail dict doesn't include "finished" (eg, you'll see "ERROR! The conditional check 'bogus_out.finished' failed. The error was: ERROR! error while evaluating conditional: bogus_out.finished ({% if bogus_out.finished %} True {% else %} False {% endif %}"). Because the failure dict still includes "failed: true",
this change has no effect on stoppage/failure reporting, it just prevents the common usage pattern from masking the underlying error message.
2015-11-12 16:19:52 -08:00
Lars Larsson
fa2ea225dd total_seconds not present on timedelta on python2.6 2015-11-03 11:54:31 +01:00
Brian Coca
d192e2c3e3 code cleanup and reoorg, renamed vars and functions to actual purpose
reneabled logging of steps
2015-10-31 21:35:48 -04:00
Toshio Kuratomi
0fa4c5fc2b Merge pull request #2285 from evanccnyc/devel
add documentation for include_vars and JSON
2015-10-30 07:47:01 -07:00
Toshio Kuratomi
43cecd3cee Use select in wait_for so that we don't get stuck in cornercases:
* reading from a socket that gave some data we weren't looking for and
  then closed.
* read from a socket that stays open and never sends data.
* reading from a socket that sends data but not the data we're looking
  for.

Fixes #2051
2015-10-28 09:05:17 -07:00
Evan Carter
7b9c326ca6 add documentation stating that JSON files can be loaded with include_vars 2015-10-15 15:06:32 -04:00
Brian Coca
697307f88c Merge pull request #1670 from mikeputnam/issue-1643-gpl-header
Add missing GPLv3 License header
2015-07-30 14:39:44 -04:00
Brian Coca
008caa1ff7 Merge pull request #591 from d3rp/wait_for
Fix 'wait_for' doesn't work with ipv6only host
2015-07-24 18:38:50 -04:00
Mike Putnam
6c0e264806 Add missing GPLv3 License header
Fixes #1643
2015-07-03 22:57:53 -05:00
Greg DeKoenigsberg
2a5f0bde87 Proper author info for all remaining modules 2015-06-15 15:53:30 -04:00
Brian Coca
7810a898e8 sleep when only doing a time delay to avoid cpu churn 2015-05-26 10:58:39 -04:00
Nathaniel
5aae7f3e51 Update set_fact.py
Context: I recently discovered that when setting a fact, key=value pairs and complex arguments differ in how the fact is stored. For example, when attempting to use complex arguments using key=values, the result can be stored as a unicode string as opposed to an object/list/etc.

I'm hoping the above example update will better demonstrate to and instruct people to use complex arguments instead of key=value pairs in certain situations.
2015-05-09 15:51:17 -05:00
Brian Coca
1d6d3fece7 added docs to show wait_for default timeout settings
Fixes #400
2015-04-06 20:41:57 -04:00
Brian Coca
cbc1655ba0 Merge pull request #784 from bcoca/wait_for_docs
added missing docs on connection_timeout for wait_for
2015-02-25 10:39:37 -05:00
Gerard Lynch
9967aa6681 wait_for: updated docs, must be resolvable hostname, updated example 2015-02-23 20:10:02 +00:00
Brian Coca
3100236628 added missing docs on connection_timeout for wait_for 2015-02-13 10:02:05 -05:00