James Cammarata
699a854bf3
Fixing bugs in play iteration and strategies
...
* Fixed a bug in PlayIterator when ITERATING_ALWAYS, where the block
was advanced but the incorrect data structure elements were cleared
* Cleaned up the logic of is_failed() in PlayIterator
* Fixed a bug in the free strategy which had not been updated to use
the base strategy _execute_meta() method
* Stopped strategies from using is_failed() to determine if tasks should
still be fetched for a host
Fixes #14040
2016-02-03 18:42:27 -05:00
James Cammarata
da9ae14ff6
Adding new feature - meta: clear_host_errors
...
Allows for the clearing of any failed/unreachable hosts
2016-02-03 14:59:38 -05:00
James Cammarata
46ede563dd
Use templated handler name during callback
...
Fixes #14082
2016-01-23 09:25:50 -05: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
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
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
James Cammarata
ac89b0de7a
Fix incorrect handling of any_errors_fatal in the linear strategy
...
Instead of bombing out of the strategy, we now properly mark hosts failed
so that the play iterator can handle block rescue/always properly.
Fixes #14024
2016-01-20 12:16:27 -05:00
Toshio Kuratomi
5e18bc5955
Turn results that come from traceback messages into unicode, not str.
...
Fixes #13964
Fixes #13967
2016-01-18 14:43:55 -08:00
James Cammarata
b5058736ce
Fix set_fact + run_once to assign variables to all hosts in the list
...
Fixes #13921
2016-01-18 14:50:20 -05:00
Brian Coca
a2a23c14ac
Merge pull request #13901 from bcoca/add_hosts_fix
...
fix issue with add_hosts overwriting existing vars
2016-01-15 14:22:26 -05:00
James Cammarata
1825b4a9c7
Fix any_errors_fatal incorrect implementation in 2.0
...
Also adds that flag to blocks.
Fixes #13744
2016-01-15 13:15:10 -05:00
Brian Coca
c2d314dec5
fix issue with add_hosts overwriting existing vars
...
fixes github.com/ansible/ansible-modules-core/issues/2799 and is alternative to #13841
2016-01-14 17:55:44 -05:00
James Cammarata
90cb7e1937
Don't drop noops from task counting code in linear strategy
2016-01-06 14:02:33 -05:00
Tomasz Kontusz
9ac9c75d76
linear strategy: don't look at tasks from the next block
2016-01-06 14:02:33 -05:00
James Cammarata
210cf06d9a
Tweak how strategies evaluate failed hosts via the iterator and bug fixes
...
* Added additional methods to the iterator code to assess host failures
while also taking into account the block rescue/always states
* Fixed bugs in the free strategy, where results were not always being
processed after being collected
* Added some prettier printing to the state output from iterator
Fixes #13699
2016-01-02 01:00:12 -05:00
James Cammarata
e546219426
Revert "Enable host_key checking at the strategy level"
...
This reverts commit 1a6d660d7e285cceec474952a33af4d8dffd0a8d.
2015-12-17 12:43:47 -05:00
James Cammarata
e5c2c03dea
Enable host_key checking at the strategy level
...
Implements a new method in the ssh connection plugin (fetch_and_store_key)
which is used to prefetch the key using ssh-keyscan.
2015-12-16 21:41:07 -05:00
James Cammarata
15135f3c16
Make sure we're using the original host when processing include results
...
Also fixes a bug where we were passing an incorrect number of parameters to
_do_handler_run() when processing an include file in a handler task/block.
Fixes #13560
2015-12-16 19:13:45 -05:00
James Cammarata
fcc9258b74
Use the original host rather than the serialized one when processing results
...
Fixes #13526
Fixes #13564
Fixes #13566
2015-12-16 01:48:22 -05:00
James Cammarata
f8ff63f8c8
A few tweaks to improve new forking code
2015-12-14 03:06:52 -05:00
James Cammarata
120b9a7ac6
Changing the way workers are forked
2015-12-11 23:35:07 -05:00
Brian Coca
de71171fc2
removed merge conflict
2015-12-11 15:11:26 -05:00
James Cammarata
7f7e730dea
Don't mark hosts failed if they've moved to a rescue portion of a block
...
Fixes #13521
2015-12-11 14:55:44 -05:00
James Cammarata
14e19c239d
Make on_file_diff callback item-aware
2015-12-09 14:52:53 -05:00
James Cammarata
de690445bc
Make fact delegating configurable, defaulting to 1.x behavior
2015-12-08 14:36:33 -05:00
Christoph Dittmann
267199fdd5
Update debug messages and comments
...
The comment was taken literally from lib/plugins/strategy/linear.py and
makes no sense in free.py where we have no noop tasks.
Also update the debug messages.
2015-12-02 11:17:24 +01:00
Christoph Dittmann
c6e400fbea
Fix issue #13370
...
all_blocks is referenced after the loop over included_files, so it needs
to be initialized before this loop, not inside.
2015-12-02 11:17:24 +01:00
James Cammarata
80db6bacc4
Make sure run_once tasks properly set variables for all active hosts
...
Fixes #13267
2015-11-30 11:27:05 -05:00
James Cammarata
dfa576b037
Merge pull request #13307 from Yannig/devel_fix_big_include_vars
...
Fix for https://github.com/ansible/ansible/issues/13221
2015-11-29 23:14:03 -05:00
James Cammarata
800811a15f
Trigger on_stats just once, not once for each play
...
Fixes #13271
2015-11-28 13:37:43 -05:00
Yannig Perré
5227c6bb52
Do not copy variable_manager each time. Instead, keep host and local variable_manager sync.
...
Fix https://github.com/ansible/ansible/issues/13221
2015-11-28 14:58:33 +01:00
James Cammarata
9f31c073fe
Fixing a few bugs in the HostVars performance areas
...
* Also refresh inventory in the HostVars manager process when things
are changed via add_host/group_by
* Raise j2undefined rather than return it
2015-11-17 09:15:10 -05:00
James Cammarata
984729016e
Fix tag filtering on included files and add more debugging
...
Previously, we were filtering the task list on tags for each host
that was including the file, based on the idea that the variables
had to include the host information. However, the top level task
filtering is play-context only, which should also apply to the
included tasks. Tags cannot and should not be based on hostvars.
2015-11-16 17:15:52 -05:00
James Cammarata
5cbeab5a3c
Performance improvements for HostVars and some bugfixes
2015-11-16 17:15:52 -05:00
James Cammarata
13750f68ee
Reduce spinning while waiting on queues
2015-11-12 14:41:09 -05:00
Toshio Kuratomi
62979efa14
Finish up plugin porting to global display
...
Also remove display = display which does nothing
2015-11-11 10:44:23 -08:00
James Cammarata
f10022dbd2
Fix use of add_tqm_variables
2015-11-05 16:30:03 -05:00
James Cammarata
efbc6054a4
Add variable compression option
2015-11-05 16:22:37 -05:00
James Cammarata
63c47fb271
Fixing up performance
2015-11-05 16:22:37 -05:00
James Cammarata
56e5e72aaa
Make handlers obey run_once (or BYPASS_HOST_LOOP)
...
Fixes #12972
2015-10-30 09:44:35 -04:00
James Cammarata
5d92b00d9c
Cleanup some include logic
...
* Properly mark hosts with failures in includes as failed
* Don't send callbacks until we're sure we're done, and also fix how
we increment stats so failures don't show up as ok's
* Fix a bug in the include file logic where a failed include could lead
to an infinite loop in the task iteration logic
Fixes #12933
2015-10-28 14:02:24 -04:00
James Cammarata
299054852a
Allow tags to be specified in included file params
...
Fixes #12940
2015-10-28 10:14:20 -04:00
James Cammarata
cace91df56
Allow hostvars cache to be invalidated so hostvars contain all hosts after add_host
...
Fixes #12925
2015-10-27 14:12:17 -04:00
James Cammarata
86de1429e5
Cleaning up FIXMEs
2015-10-22 16:03:50 -04:00
James Cammarata
1fa975d81a
Simplify group_by by removing BYPASS_HOST_LOOP from the action
...
Fixes #12825
2015-10-19 14:57:07 -04:00
Toshio Kuratomi
0888d78b84
Cleanup some pyflakes warning (1 real error)
2015-10-19 11:42:46 -07:00
James Cammarata
892d9b8dfb
Move post_validate for tasks after checking for an include
...
Simplifies logic and prevents us from accidentally post_validating
an include that would otherwise be skipped due to tags causing a
problem because of potentially missing variables.
Fixes #12793
2015-10-19 13:42:17 -04:00
James Cammarata
5f617c601b
Remove obsolute tag evaluation in free strategy
...
Fixes #12784
2015-10-17 11:29:39 -04:00
Toshio Kuratomi
baa309309d
Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version.
2015-10-16 08:21:28 -07:00
James Cammarata
45b803efb4
Properly use test_loader from SharedPluginLoaderObj
2015-10-14 17:53:28 -04:00
James Cammarata
57372906aa
Pull host/group vars when adding hosts/groups
...
Fixes #12582
2015-10-02 02:47:09 -04:00
James Cammarata
a89412ecb1
Fail all hosts if a run_once task fails
...
Fixes #12563
2015-09-29 15:10:00 -04:00
James Cammarata
a3e913da62
Don't assume handlers exist in the same role (if any)
...
Fixes #12536
2015-09-29 14:52:43 -04:00
James Cammarata
46984a067c
Don't wrap vars from include_vars with UnsafeProxy
2015-09-26 15:16:46 -04:00
James Cammarata
cdc6c5208e
Clean string data run through the template engine
...
Also strip UnsafeProxy off of low level srings and objects to ensure
they don't cause issues later down the road
Fixes #12513
2015-09-25 16:49:31 -04:00
James Cammarata
3ffc2783c4
Don't bomb out on handlers with undefined variables in their names
2015-09-22 12:42:02 -04:00
James Cammarata
65bf14cbb0
Merge pull request #12431 from hslee16/devel
...
Stops using _groups_list to check for host when using 'add_host'
2015-09-20 18:17:02 -04:00
James Cammarata
05f6e76407
Template handler names before checking to see if they need to run
...
Fixes #12427
2015-09-18 18:54:48 -04:00
Alex Lee
cf289191e5
return None if group does not exist in inventory groups
2015-09-17 15:58:10 -07:00
Brian Coca
b6d6c2e4db
corrected all missing paths changes
2015-09-15 11:57:54 -04:00
Brian Coca
4aea1f6568
normalized plugin paths and names and configs
2015-09-15 11:44:09 -04:00