James Cammarata
a3dcb910b8
Fixing bugs with {changed,failed}_when and until with registered vars
...
* Saving of the registered variable was occuring after the tests for
changed/failed_when.
* Each of the above fields and until were being post_validated too early,
so variables which were not defined at that time were causing task
failures.
Fixes #13591
2015-12-18 10:58:55 -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
6312e38133
Fixing up some non-py3 things for unit tests
2015-12-14 10:35:58 -05:00
James Cammarata
120b9a7ac6
Changing the way workers are forked
2015-12-11 23:35:07 -05:00
Charles Paul
6680cc7052
allow custom callbacks with adhoc cli for scripting
...
missing import of CallbackBase
2015-12-10 09:49:54 -05:00
Brian Coca
04d74fd680
reenabled --tree for ansible adhoc command
...
previous fix to avoid callbacks now conflicted with tree optoin
which is implemented as a callback in 2.0
2015-12-09 10:13:50 -08:00
Brian Coca
7936a4687e
adhoc avoids callbacks by default as it did before
...
Previous emptying of whitelist only affected callbacks that were
constructed for need whitelist. This now works for all callbacks.
2015-12-09 10:01:21 -08:00
Toshio Kuratomi
0434644d12
Transform exceptions into ansible messages via to_unicode instead of str to avoid tracebacks.
...
Fixes #13385
2015-12-04 11:50:39 -08:00
James Cammarata
a183972477
Don't use play vars in HostVars
...
Fixes #13398
2015-12-02 14:16:47 -05:00
Matt Martz
384b2e0234
Get v2_playbook_on_start working
...
* Move self._tqm.load_callbacks() earlier to ensure that v2_on_playbook_start can fire
* Pass the playbook instance to v2_on_playbook_start
* Add a _file_name instance attribute to the playbook
2015-12-02 11:29:51 -06:00
James Cammarata
f7dc5a9515
Minor tweak and comment addition to 974a0ce3
2015-12-02 09:11:08 -05:00
Christoph Dittmann
9a6ae1d62a
Let PlayIterator.add_tasks accept empty task lists
...
PlayIterator.add_tasks raised an error when trying to add an empty task
list. This was the root cause of ansible issue #13370 .
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
6671d78f95
Tweak location of stats callback execution and properly relocate stats output code
2015-11-28 14:03:21 -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
Brian Coca
fa358d9d61
avoids prompting for vars during syntax check
...
fixes #13319
2015-11-27 11:41:00 -08:00
James Cammarata
65747285a4
Properly check for prompting state when re-using ssh connection
...
Fixes #13278
2015-11-24 09:09:54 -05:00
Chris Church
272778f732
Modify task executor to reuse connection inside a loop. Fix WinRM connection to set _connected properly and display when remote shell is opened/closed. Add integration test using raw + with_items.
2015-11-23 11:53:05 -05:00
Brian Coca
478c6c756a
marked spot that should send per item reulsts
2015-11-22 14:44:51 -08:00
James Cammarata
78e4f176e6
Return skipped/failed async results directly
...
Fixes #13205
2015-11-19 08:30:00 -05:00
Marius Gedminas
66347c9449
Fix NameError when using loops
...
vars_copy disappeared in 3d1255d190
.
Fixes #13213 .
2015-11-19 09:21:06 +02:00
James Cammarata
3d1255d190
Don't update job vars too early when getting loop items in TaskExecutor
...
Fixes #13113
2015-11-18 19:12:38 -05:00
James Cammarata
25807f5404
Don't modify things we've put on the queue
...
Fixes #12937
2015-11-17 14:22:52 -05: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
5cbeab5a3c
Performance improvements for HostVars and some bugfixes
2015-11-16 17:15:52 -05:00
Dann Bohn
7f2cae5405
add REPLACER_SELINUX back into module_common
2015-11-16 16:35:55 -05:00
James Cammarata
2b25b7974c
Remove unnecessary sleep from result process
2015-11-13 16:45:45 -05:00
James Cammarata
13750f68ee
Reduce spinning while waiting on queues
2015-11-12 14:41:09 -05:00
James Cammarata
b2b0fa8d13
Changed do/until failed color
...
Fixes #13130
2015-11-11 14:43:15 -05:00
James Cammarata
94c20c9ac6
Cleanup failed/changed logic in TaskExecutor
...
Fixes #12980
2015-11-11 14:23:37 -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
Toshio Kuratomi
186e034515
Move the rest of executor code to global display
2015-11-11 10:44:22 -08:00
Toshio Kuratomi
318bfbb207
Migrate cli and dependencies to use global display
2015-11-11 10:44:22 -08:00
Toshio Kuratomi
e45ce871a7
Fix for traceback when neither name nor pkg are in the module params
2015-11-11 07:32:21 -08:00
Toshio Kuratomi
4737305837
Remove dead code as this was moved to another class
2015-11-10 12:18:20 -08:00
James Cammarata
a99f2fd52f
Save delegated vars in result for use in callback methods
...
Fixes #13014
2015-11-10 10:14:30 -05:00
Yannig Perré
0c360d17cb
New parameter for template method.
...
We do not compute hash when we know that the result does not need to be cached (like with_items loop).
It also result in a small speed improvement.
2015-11-10 07:19:19 +01:00
Toshio Kuratomi
1a04f354f3
For with_first_found loops, set undefined variables to fall through rather than failing the task
2015-11-09 10:51:54 -08:00
James Cammarata
59b67a2f68
Reset workers list when recreating processes
...
Also renames some things to be more accurate
2015-11-06 12:10:15 -05:00
Brian Coca
9c24f88eca
updated forks comment
2015-11-06 08:31:56 -05:00
James Cammarata
1027abd596
Cleaning up bugs related to perf improvement changes
2015-11-05 16:42:12 -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
Brian Coca
f4912dd88a
added callback fallback to v1 methods for backwards compat with existing callbacks
2015-11-05 13:04:50 -05:00
Brian Coca
e2c56efca6
Merge pull request #12867 from bcoca/callback_whitelist_tweak
...
make callbacks declare needing whitelisting
2015-11-05 12:58:05 -05:00
Toshio Kuratomi
4f6d4c6bf6
Set task_action when the action does not need to be templated
...
Fixes #13042
2015-11-05 08:38:21 -08:00
Brian Coca
9753de35a7
Merge pull request #13038 from bcoca/min_forks_to_play
...
use minimal number of forks
2015-11-05 11:22:15 -05:00
Toshio Kuratomi
483491ddfb
template the task_action before checking whether to optimize with_item loops for it.
...
Fixes the second problem discovered in #12976
2015-11-04 19:41:55 -08:00
Toshio Kuratomi
9e758d3d97
Do not optimize with_items loop if the items are not strings
...
The code isn't sophisticated enough to understand lists and dicts yet.
This mirrors how 1.9.x handled non-string items so its not a regression.
One portion of a fix for #12976
2015-11-04 18:48:41 -08:00
Brian Coca
931eb16e55
clearer selection of min value
...
cleanup workers at each run to avoid stragglers
2015-11-04 17:28:08 -05:00
Brian Coca
b44f1428d0
use minimal number of forks taking serial, forks and play patterns into account
2015-11-04 15:16:20 -05:00
Brian Coca
3c35655b52
removed serial as it is not avialable for fork control
...
fixes #13037
2015-11-04 14:04:47 -05:00
Brian Coca
0abeff4511
better limiting of forks to lowest actual restriction
2015-11-04 12:47:10 -05:00
Lars Larsson
3289670a04
treat forks config parameter as max value instead of always creating that number of workers
2015-11-04 17:13:26 +01:00
Brian Coca
f5b095f6c8
properly sanitize registered vars
2015-10-30 16:42:06 -04:00
Brian Coca
b6c92dacb5
removed key striping as they are read up the chain
2015-10-30 14:03:37 -04:00
James Cammarata
a5bd92ca4b
Merge branch 'devel_fix_debug_var' of https://github.com/Yannig/ansible into Yannig-devel_fix_debug_var
2015-10-30 08:37:03 -04:00
James Cammarata
479cbfc63c
Don't immediately fail on PlayContext setup
...
As we may end up skipping the task due to conditionals.
Fixes #12774
2015-10-29 19:23:42 -04:00
Yannig Perré
1febf7cb88
Fix for issue #12952 : this code interfere with debug+var and seems to be unnecessary.
2015-10-28 22:09:13 +01: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
87269599a0
Also consider the full role name when searching for --start-at-task
2015-10-27 16:31:23 -04:00
Toshio Kuratomi
7334389de6
Merge pull request #12930 from ansible/dict-key-overwrite-warning
...
Break apart a looped dependency to show a warning when parsing playbooks
2015-10-27 12:44:01 -07:00
Toshio Kuratomi
4203850d1a
Break apart a looped dependency to show a warning when parsing playbooks
...
Display a warning when a dict key is overwritten by pyyaml
Fixes #12888
2015-10-27 12:39:42 -07:00
James Cammarata
3fc2209ca0
Fixing retry/until logic and default value for retries
...
Fixes #12928
Fixes #12929
2015-10-27 15:37:48 -04:00
Brian Coca
8ce864db6f
sanatize results
2015-10-24 15:23:12 -04:00
Toshio Kuratomi
92dd563a75
Fix invocation from bad merge and note where it would need to go to keep
...
it out of registered vars as well.
2015-10-24 07:29:42 -07:00
Brian Coca
5017a96948
Revert "make callbacks declare needing whitelisting"
...
another premature merge
This reverts commit df8ff85787
.
2015-10-22 16:34:51 -04:00
James Cammarata
86de1429e5
Cleaning up FIXMEs
2015-10-22 16:03:50 -04:00
Brian Coca
df8ff85787
make callbacks declare needing whitelisting
...
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
2015-10-22 12:30:23 -04:00
Brian Coca
c267c23020
make callbacks declare needing whitelisting
...
this will allow for custom or v1 callbacks locally loaded to automatically be triggered as they were in 1.x
2015-10-22 08:27:32 -04:00
Brian Coca
fc3a44485b
skip errors on conditional if task is include
...
fixes #12843
2015-10-22 07:50:43 -04:00
James Cammarata
ec56b29ba4
Fix setting of interpreter values for delegated hosts
...
Fixes #12772
2015-10-21 11:05:45 -04:00
Victor Salgado
c5c5f3bf7a
Revert back to copying self._task.args
2015-10-20 16:21:25 -02:00
Victor Salgado
0e671baa33
Fix typo
2015-10-20 16:18:01 -02: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
a526eae543
Clean up a few more pyflakes warnings
2015-10-19 11:20:21 -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
a88c59f451
Reset basedir for plays that are not from a PlaybookInclude
...
Fixes #12524 (again)
2015-10-17 12:44:28 -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
Marius Gedminas
4fb6f62f1b
Fix Unexpected Exception: global name 'os' is not defined
...
I inadvertently introduced it in
ca826508d9
and didn't notice, because
there are no unit tests for playbook_executor.py. Sorry!
(The "from ansible.errors import *" was used *only* to get the 'os'
module, which makes go "what?")
2015-10-15 10:41:00 +03:00
Marius Gedminas
9ba6c087d3
Python 3: there's no basestring
2015-10-13 09:56:12 +03:00
James Cammarata
82e76e42e5
Tweak to the way serial percentages are handled
2015-10-12 09:00:43 -04:00
Toshio Kuratomi
01ba2e94c0
Wait until later to convert to byte strings for output
...
Also some pre-emptive python3 compat and a code simplification
2015-10-08 08:22:17 -07:00
Brian Coca
76feba00c4
avoid callbacks during syntax check and listing
...
fixes #12682
2015-10-08 10:15:48 -04:00
James Cammarata
d91b3c6b9d
Make sure magic variables are available when templating vars_files
...
Also does some reorganization/cleanup on the magic vars/delegated
variable generation portions of VariableManager to make the above
possible.
Fixes #12633
2015-10-05 16:32:58 -04:00
Brian Coca
e2ae3215f6
corrected no_log for items and skipped tasks
...
corrected output from default callback
added new tests for no_log loops
updated makefile test to check for both positive and negative occurrences of no_log
2015-10-02 14:35:33 -04:00
Brian Coca
ba4afcbbb6
added no_log to results
...
normalized outputs to use display class
cleaned up unused imports
2015-10-02 09:11:41 -04:00
James Cammarata
8ef78b1cf8
Fixing accelerated connection plugin
2015-10-02 00:50:02 -04:00
James Cammarata
deff045aa9
Fix bug caused by options not having start_at_task when used through adhoc
...
Fixes #12590
2015-10-01 10:09:58 -04:00
James Cammarata
dcb8caf9e8
Remember if we already skipped tasks via --start-at-task
...
Fixes #12482
2015-09-30 14:12:38 -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
ffdba96668
Save the included directory for playbook includes for use as the basedir
...
Fixes #12524
2015-09-29 00:28:45 -04:00
James Cammarata
31d5f88a1d
Use the task loop to calculate multiple delegated hosts
...
Due to the way we're now calculating delegate_to, if that value is based
on a loop variable ('item') we need to calculate all of the possible
delegated_to variables for that loop.
Fixes #12499
2015-09-25 01:41:09 -04:00
Brian Coca
de18bcb95f
correct typo on error reporting
...
fixes #12495
2015-09-23 10:11:52 -04:00
Toshio Kuratomi
2a614c1c0f
Close module file once we're done reading from it
2015-09-21 01:46:29 -07:00
James Cammarata
88e1aa94fa
Add play context vars to list of variables before post validation
...
Fixes #12437
2015-09-19 21:51:24 -04:00
James Cammarata
1f5584aa5b
Refactoring delegate_to code
...
Now, instead of relying on hostvars on the executor side, we compile
the vars for the delegated to host in a special internal variable and
have the PlayContext object look for things there when applying task/
var overrides, which is much cleaner and takes advantage of the code
already dealing with all of the magic variable variations.
Fixes #12127
Fixes #12079
2015-09-18 15:25:10 -04:00