Commit graph

17989 commits

Author SHA1 Message Date
Brian Coca
f374bfd0b3 Merge pull request #14105 from towolf/expand_get_diff
Handle the key 'custom' in the 'diff' result from modules
2016-01-26 10:01:44 -05:00
Tobias Wolf
5b293b56d6 Handle the key 'prepared' in the 'diff' result from modules
So far, when a 'diff' dict is returned with module results, it is
checked for 'before' and 'after' texts, which are processed in
_get_diff() by python difflib.  This generates the changes to display
when CLI users specify --diff.

However, some modules will generate changes that cannot easily be
expressed in a conventional diff. One example is the output of the
synchronize module, which presents changed files in a common log format
as in `rsync --itemize-changes`.

Add a check for a diff['prepared'] key, which can contain prepared diff text
from modules.
2016-01-26 09:29:37 +01:00
Toshio Kuratomi
c44110bc81 Update submodule refs to pick up the synchronize internal parameter 2016-01-25 19:57:28 -08:00
Toshio Kuratomi
a23a5d1b93 Merge pull request #13968 from ansible/synchronize-become-is-reversed
synchronize: First cut at not doing sudo on the control machine but on the remote machine instead.
2016-01-25 19:52:03 -08:00
Toshio Kuratomi
d0a062ffa3 python3 doesn't have raw explicit-unicode literals. Workaround it with a raw native string that we make unicode in py2. 2016-01-25 19:46:57 -08:00
Toshio Kuratomi
3cf59d30f7 For synchronize, fix sudo to execute on the remote end of the connection
* In 2.0.0.x become was reversed for synchronize. It was happening on
  the local machine instead of the remote machine. This restores the
  ansible-1.9.x behaviour of doing become on the remote machine.
  However, there's aspects of this that are hacky (no hackier than
  ansible-1.9 but not using 2.0 features).  The big problem is that it
  does not understand any become method except sudo.  I'm willing to use
  a partial fix now because we don't want people to get used to the
  reversed semantics in their playbooks.
* synchronize copying to the wrong host when inventory_hostname is
  localhost
* Fix problem with unicode arguments (first seen as a bug on synchronize)

Fixes #14041
Fixes #13825
2016-01-25 19:33:31 -08:00
Toshio Kuratomi
f4d68b8860 Transform tracebacks into unicode before printing
Fixes #14042
2016-01-25 19:18:59 -08:00
Brian Coca
c063803a91 raise AnsibleError as an 'expected' exception
fixes #14065
2016-01-25 22:20:55 -05:00
Brian Coca
9df0662408 simpler conditional 2016-01-25 22:01:48 -05:00
Brian Coca
e3a58a883a Merge pull request #13166 from defionscode/ec2_util_boto3
Patch to remove dependency on boto when only using boto3
2016-01-25 21:55:21 -05:00
Jonathan Davila
041e1979c4 Boto3 error handle fix 2016-01-25 17:40:20 -05:00
Brian Coca
ac1d1673be adhoc now respects limit when listing hosts
also removed cruft about localhost as if used it is specified inline
fixes #13848
2016-01-25 17:39:01 -05:00
Jonathan Davila
f95652e7db Merge remote-tracking branch 'upstream/devel' into ec2_util_boto3 2016-01-25 17:35:39 -05:00
Brian Coca
87fe32319f ensure stdout callback alwasy is loaded first
it is now called for every event prior to any other callbacks
fixes #14114
2016-01-25 17:11:36 -05:00
Brian Coca
af88e34831 better error when host inventory script isnt dict 2016-01-25 16:32:09 -05:00
Brian Coca
6e716b177e add webdocs as alias 2016-01-25 16:32:09 -05:00
Brian Coca
e79f3114d1 Merge pull request #14087 from grahamu/changelog_ssh_deprecated
Note "ssh" deprecation for inventory variables
2016-01-25 14:37:39 -05:00
Brian Coca
4dc3441cdb Merge pull request #14102 from senk/fix_docu
Fixes documentation formatting
2016-01-25 14:33:23 -05:00
Brian Coca
9abb107044 Merge pull request #14110 from infracaninophile/devel
Change example to use pkg rather than the obsolete pkg_add
2016-01-25 12:18:48 -05:00
Matthew Seaman
043b2cbcb4 Change example to use pkg rather than the obsolete pkg_add
pkg_add has been obsoleted in all released versions of FreeBSD for
several years.  Change the example to use the appropriate pkg(8)
command line.
2016-01-25 16:20:17 +00:00
James Cammarata
a8ffa02134 Make sure blocks use their parents dependency chains
Fixes a bug inroduced in fb797a9 where included tasks in a role
were not being executed because the child blocks had no dep chain
set.
2016-01-25 09:02:44 -05:00
Robin Naundorf
6cc7f7890f Fixes documentation formatting
Fixes documentation formatting
2016-01-25 11:51:30 +01:00
James Cammarata
2b02e8e2b4 Allow certain base attributes to be used as role params
Role definitions typically require params to be different from those
which are specified as FieldAttributes on the playbook classes used
for roles, however a certain subset should be allowed (typically those
used for connection stuff).

Fixes #14095
2016-01-24 23:04:50 -05:00
Graham Ullrich
f82d9facc2 Update CHANGELOG.md 2016-01-23 12:35:59 -07:00
James Cammarata
6b166a1048 Merge pull request #14071 from rozha/devel
Fix server numbers in first 10 next 10 example
2016-01-23 09:30:37 -05:00
James Cammarata
46ede563dd Use templated handler name during callback
Fixes #14082
2016-01-23 09:25:50 -05:00
James Cammarata
fb797a9e77 Fixing role dependency chain creation
The dep chain for roles created during the compile step had bugs, in
which the dep chain was overwriten and the original tasks in the role
were not assigned a dep chain. This lead to problems in determining
whether roles had already run when in a "diamond" structure, and in
some cases roles were not correctly getting variables from parents.

Fixes #14046
2016-01-22 12:54:00 -05:00
Matt Martz
abecb520ad Merge pull request #14054 from gregdek/devel
Add Python 2.4 requirement to module checklist
2016-01-22 11:31:27 -06:00
Ilya Novickov
46bd5a0d9c Fix server numbers in first 10 next 10 example 2016-01-22 18:50:41 +08:00
James Cammarata
4651155942 Fix bug with any_errors_fatal where task was not available 2016-01-21 16:42:31 -05:00
James Cammarata
d02dee37a1 Disallow setting state on template tasks
Fixes #14056
2016-01-21 15:02:24 -05:00
Toshio Kuratomi
ecf867af6f Update submodule refs 2016-01-21 11:11:05 -08:00
Greg DeKoenigsberg
f3336fba44 Tweaking Python 2.4 requirement 2016-01-21 13:02:03 -05:00
Greg DeKoenigsberg
981e9c44ba Put Python 2.4 in checklist
It's in the travis check, but we don't spell it out explicitly in the guidelines.
2016-01-21 12:22:26 -05:00
Greg DeKoenigsberg
134873bada Merge pull request #1 from ansible/devel
sync to head
2016-01-21 12:14:53 -05:00
Toshio Kuratomi
f594cc0a5b Merge pull request #13993 from towolf/avoid_json_to_unicode
Avoid recursively checking JSON inventory for Unicode
2016-01-21 08:41:16 -08:00
Tobias Wolf
d6ae9e2c29 Avoid recursively checking JSON inventory for Unicode
by moving to en-bloc unicode conversion to act on scripts stdout

Both python-json and simplejson always return unicode strings when using
their loads() method on unicode strings. This is true at least since
2009. This makes checking each substring unnecessary, because we do not
need to recursively check the strings contained in the inventory dict
later one-by-one

This commit makes parsing of large dynamic inventory at least 2 seconds
faster.

cf: https://github.com/towolf/ansible-large-inventory-testcase
2016-01-21 17:35:40 +01:00
Brian Coca
f26adcc7da avoid shredding empty files, also x/0
also cleaned up unused import and exception var
2016-01-21 10:54:56 -05:00
Sergii Korochkin
13e8732598 [hotfix] add missed playbook file 2016-01-21 14:08:26 +02:00
Sergii Korochkin
1325c21ca0 Adding support for scm-based role source urls (incl. integration test to cover it) 2016-01-21 14:00:29 +02:00
James Cammarata
627dec716b Template the run_once value in the linear strategy as we use it there
This is pre-post_validation, so we have to template it on the fly
as we use it to determine if we bypass the host loop.

Fixes #11876
2016-01-20 20:54:12 -05:00
James Cammarata
365c5b23ce Re-add cache clearing call to Inventory init
This prevents a bug where the existing cache outside of the class
is not cleared when creating a new Inventory object. This only really
affects people using the API directly right now, but wanted to fix it
to prevent weird errors from popping up.
2016-01-20 20:54:12 -05:00
Brian Coca
c2ac1507ea corrected host/group match in inventory_hostnames
now the lookup works when using ! and & operators
fixes #13997
2016-01-20 18:32:39 -05:00
James Cammarata
9b05a670c7 Merge pull request #14031 from selivan/devel
plugins/strategy: added significant details to parser error message.
2016-01-20 15:49:38 -05:00
Matt Martz
3bda79ca96 Merge pull request #14030 from matburt/add_rax_inventory_custom_cache_timeout
Add a config option for rackspace inventory cache
2016-01-20 14:32:54 -06:00
James Cammarata
54cde0d082 Standardize removal of BECOME-SUCCESS method and use it for async too
Fixes #13965
Fixes #13971
2016-01-20 15:27:28 -05:00
Matthew Jones
a1318e1664 Add rax cache age ini documentation 2016-01-20 15:27:06 -05:00
Toshio Kuratomi
61009604e3 Update submodules to bring in yum fix 2016-01-20 12:18:52 -08:00
Toshio Kuratomi
d97d28ecb0 Merge pull request #14025 from ansible/run_command-env-rework
rework run_command's env setting to not change os.environ for the res…
2016-01-20 12:13:43 -08:00
Selivanov Pavel
3201f5d90e plugins/strategy: added significant details to parser error message.
See discussion at
https://github.com/ansible/ansible/issues/13753
2016-01-20 23:12:26 +03:00