Commit graph

52 commits

Author SHA1 Message Date
Timothy Appnel
b18c22f69b Adds docs for msg param in assert modules plus some other clean up (#4926) 2016-12-08 11:25:12 -05:00
Brian Coca
21ed52bfe4 fixed incorrect example 2016-12-08 11:25:05 -05:00
Brian Coca
627da622fe removed chdir / as it breaks tasks
fixes #17466
2016-12-08 11:25:04 -05:00
Monty Taylor
e27b7af1e6 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-12-08 11:25:04 -05:00
Brian Coca
909e62b25b updated include_role docs 2016-12-08 11:25:02 -05:00
Matt Clay
1f6e3326db Python 3 fixes for async_wrapper and async_status. (#4671) 2016-12-08 11:25:00 -05:00
Matt Clay
cb30558a41 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-12-08 11:25:00 -05:00
Michael Scherer
25fd3928b6 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-12-08 11:24:56 -05:00
James S. Martin
4d75f9b4bc Shows messages for uncaught exceptions from called modules in async_wrapper output. (#4591) 2016-12-08 11:24:55 -05:00
Brian Coca
e37f57fc90 added docs for vars_from/defaults_from 2016-12-08 11:24:54 -05:00
Brian Coca
79d970d5b8 updated include_role docs to latest info 2016-12-08 11:24:54 -05:00
Brian Coca
b7d2c62f2b 1st draft of include role docs 2016-12-08 11:24:53 -05:00
Brian Coca
7f1e6ca005 updated docs to reflect new feature 2016-12-08 11:24:45 -05:00
Brian Coca
498dc61154 documenting behaviour as clear as possible 2016-12-08 11:24:44 -05:00
James Cammarata
2aad8bd882 Removing erroneous import from async_status 2016-12-08 11:24:42 -05:00
James Cammarata
204e83aeed Ensure async wrapper and status return consistent fields 2016-12-08 11:24:42 -05:00
Brian Coca
b55fd5f67a updated set_fact docs with note about typing 2016-12-08 11:24:41 -05:00
Brian Coca
c59510aaf4 updated docs in pause to reflect 0 value behaviour 2016-12-08 11:24:40 -05:00
David Shrewsbury
88122e0f72 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-12-08 11:24:40 -05:00
Stanislav Antic
4c92652e7b Fix wait_for on python < 2.6 (#3790) (#3973) 2016-12-08 11:24:38 -05:00
Brian Coca
f595b27e47 reverted need for module utils imports 2016-12-08 11:24:38 -05:00
Brian Coca
0c82db9cda added missing import
readded raise
2016-12-08 11:24:38 -05:00
Brian Coca
51c3eda259 exception ans sys.exit fixes 2016-12-08 11:24:38 -05:00
Toshio Kuratomi
1b88df0bda Fix exception handling in async_wrapper 2016-12-08 11:24:38 -05:00
Brano Zarnovican
9fd52ac40e 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-12-08 11:24:37 -05:00
@
c901b70a01 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-12-08 11:24:37 -05:00
Michael Scherer
fefc0cdd50 Fix wait_for to compile on python3 (#3722) 2016-12-08 11:24:30 -05:00
Michael Scherer
73a33c02a9 Do not use a tuple as argument for _create_connection (#3655) 2016-12-08 11:24:28 -05:00
vaupelt
ae464c5b5e 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-12-08 11:24:20 -05:00
Toshio Kuratomi
708d49777d Allow async to not need an args file since new-style modules have args embedded 2016-12-08 11:24:15 -05:00
nitzmahone
3abdfb1712 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.
2016-12-08 11:24:09 -05:00
Toshio Kuratomi
47e9a06784 Specify types in argument_spec instead of code so that checking type vs default value does not trigger 2016-12-08 11:24:08 -05:00
Brian Coca
453d267489 documented new verbosity option 2016-12-08 11:24:06 -05:00
Brian Coca
e1d0f3ff59 clarified set_fact function 2016-12-08 11:23:48 -05:00
Lars Larsson
542eb2e09c total_seconds not present on timedelta on python2.6 2016-12-08 11:23:47 -05:00
Brian Coca
c8a7c25468 code cleanup and reoorg, renamed vars and functions to actual purpose reneabled logging of steps 2016-12-08 11:23:44 -05:00
Toshio Kuratomi
fda9eeaa89 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
2016-12-08 11:23:44 -05:00
Evan Carter
956fe4c709 add documentation stating that JSON files can be loaded with include_vars 2016-12-08 11:23:43 -05:00
Mike Putnam
9623cd570c Add missing GPLv3 License header
Fixes #1643
2016-12-08 11:23:25 -05:00
Andrey Trubachev
b93633d7c2 Fix python-2.4 compatibility 2016-12-08 11:23:25 -05:00
Andrey Trubachev
c55187ff42 Fix 'wait_for' doesn't work with ipv6only host 2016-12-08 11:23:25 -05:00
Greg DeKoenigsberg
eb881d7d5d Proper author info for all remaining modules 2016-12-08 11:23:07 -05:00
Brian Coca
7ccc2143fd sleep when only doing a time delay to avoid cpu churn 2016-12-08 11:23:01 -05:00
Nathaniel
935550d20d 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.
2016-12-08 11:22:58 -05:00
Brian Coca
00a327bdaa added docs to show wait_for default timeout settings
Fixes #400
2016-12-08 11:22:54 -05:00
Gerard Lynch
1fcc1a7374 wait_for: updated docs, must be resolvable hostname, updated example 2016-12-08 11:22:45 -05:00
Brian Coca
8f197aed48 added missing docs on connection_timeout for wait_for 2016-12-08 11:22:44 -05:00
Brian Coca
ba040784b8 let implied type do the spliting 2016-12-08 11:22:25 -05:00
Brian Coca
7d577e4447 minor fixes to wait_for to avoid tracebacks as per ansible core issue #9244 2016-12-08 11:22:25 -05:00
Brian Coca
a091d8c59a added missing init.py for utilities modules 2016-12-08 11:22:25 -05:00