Commit graph

32 commits

Author SHA1 Message Date
James Cammarata
06b072c1f7 Fix bugs related to task_includes and dep chain inheritance
* Fix the way task_include fields were created and copied
* Have blocks get_dep_chain() look at task_include's blocks for proper
  dep chain inheritance
* Fix the way task_include fields are copied to prevent a recursive
  degradation

Fixes #14460
2016-02-13 01:02:47 -05:00
James Cammarata
275728e0f6 Fixing bugs related to nested blocks inside roles
* Make sure dep chains are checked recursively for nested blocks
* Fixing iterator is_failed() check to make sure we're not in a
  rescue block before returning True
* Use is_failed() to test whether a host should be added to the TQM
  failed_hosts list
* Use is_failed() when compiling the list of hosts left to iterate
  over in both the linear and free strategies

Fixes #14222
2016-02-12 13:39:39 -05:00
James Cammarata
07a9a54b0e Fix lookup of parent attribute when parent doesn't have the attr
Fixes #14100
2016-01-26 13:10:23 -05: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
James Cammarata
c8bbdd6b39 Don't assign both parent blocks and task includes to blocks
This causes problems when fetching parent attributes, as the include
was being skipped because the parent block would fetch the attribute
from the parent play first.

Fixes #13872
2016-01-19 22:47:07 -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
c64298de02 Revert "avoid persistent containers in attribute defaults"
This reverts commit 87969868d4.
found better way to do it
2015-12-09 08:40:06 -08:00
Brian Coca
87969868d4 avoid persistent containers in attribute defaults
moved from the field attribute declaration and created a placeholder
which then is resolved in the field attribute class.

this is to avoid unwanted persistent of the defaults across objects which introduces
stealth bugs when multiple objects of the same kind are used in succession while
not overriding the default values.
2015-12-09 07:29:36 -08:00
James Cammarata
398f6bbb89 Fix typo from 5ae850c 2015-12-08 14:36:36 -05:00
James Cammarata
de690445bc Make fact delegating configurable, defaulting to 1.x behavior 2015-12-08 14:36:33 -05:00
Brian Coca
eeedaf2cbc fixed var name typo 2015-11-15 08:43:42 -08:00
Brian Coca
e174247734 evaluate includes for skipped tags
cannot evaluate for include tags as underlying tasks might have them, but skips override so this should be a performance boost
2015-11-15 07:51:36 -08:00
James Cammarata
76ae577519 Ensure environment is inherited properly (task->block/include->play) 2015-11-09 14:51:07 -05:00
James Cammarata
6dd38c2a10 Fix parent attribute lookup to be default
Fixes #12526
2015-09-26 11:28:29 -04:00
James Cammarata
a1c38a3fda Adding delegate_to to Blocks 2015-09-26 11:28:01 -04:00
James Cammarata
c9a004227e Improve error catching from malformed playbook data
Fixes #12478
2015-09-23 08:56:36 -04:00
James Cammarata
d91ff0db74 Fixing parent block serialization for blocks
Fixes #12395
2015-09-16 09:29:16 -04:00
James Cammarata
601a1cc6d9 Multiple fixes for include statements and blocks in general
Fixes #11981
Fixes #11995
Fixes #12039
Fixes #12077
2015-08-26 02:23:22 -04:00
Brian Coca
ae91cdfc98 fixed environment inheritance 2015-08-25 10:15:32 -04:00
James Cammarata
e7b2308b66 Performance improvements
* Speed up serialization of hostvars by simply using the internal
  dictionary used for cached lookups
* Use blocking gets/puts on queues instead of spin locking
* Merge sequential implicitly created blocks
2015-08-17 13:46:57 -04:00
James Cammarata
e7d0c9f820 Re-add vars to Base and standardize var processing
Fixes #11779
2015-08-07 00:06:30 -04:00
James Cammarata
71867f9480 Remove vars attribute from base
Fixes #11779
2015-07-29 09:45:30 -04:00
James Cammarata
4b6525fb58 Fix handler flushing to match how v1 worked
Also adds meta tasks to the list of tasks excluded from tag filtering

Fixes #11574
2015-07-22 11:21:38 -04:00
James Cammarata
66a8864ae9 Fix environment setting and inheritence
Fixes #11401
2015-07-21 13:57:30 -04:00
James Cammarata
91519d1696 Don't filter include tasks based on tags
Fixes #11320
2015-07-21 12:37:22 -04:00
James Cammarata
e64989beb4 Moving ConnectionInformation -> PlayContext
Also making PlayContext a child class of the Playbook Base class,
which gives it access to all of the FieldAttribute code to ensure
field values are correctly typed after post_validation

Fixes #11381
2015-07-21 12:13:50 -04:00
James Cammarata
052f3c2ece Fixing allow_duplicate and variable resolution bugs
Fixes #11205
2015-07-16 11:39:40 -04:00
James Cammarata
332ca927d9 Fix parent attribute lookup
Using 'value is None' instead of 'not value', in order to account
for boolean values which may be false

Fixes #11232
2015-06-24 20:57:53 -04:00
James Cammarata
4d999f8fe0 Fix logic error in parent attribute retrieval for blocks/roles (v2) 2015-05-12 15:08:35 -05:00
James Cammarata
1ca8cb8553 Fixing up v2 unit tests 2015-05-12 12:24:57 -05:00
James Cammarata
803fb397f3 Fixing filter plugins directory from switch 2015-05-04 01:33:10 -05:00
James Cammarata
ce3ef7f4c1 Making the switch to v2 2015-05-03 21:47:26 -05:00
Renamed from v2/ansible/playbook/block.py (Browse further)