James Cammarata
38573c55bf
Tweak failure condition for field attributes expected to be strings
2015-09-15 13:08:40 -04:00
James Cammarata
cfdaec0c22
Make sure string attributes are strings from YAML to avoid bad type conversions
...
Fixes #12367
2015-09-15 12:17:55 -04:00
James Cammarata
ee7905c7e1
Compare include params against deprecated param names too
...
Fixes #12282
2015-09-09 22:15:50 -04:00
Marius Gedminas
37be9539ff
Python 3: use six.text_type instead of unicode
...
Replace 'unicode' with six.text_type, everywhere but in module_utils.
2015-09-04 08:40:10 +03:00
James Cammarata
3d282cd1b0
Also always post_validate Handler class as well
...
Fixes #12154
2015-09-01 11:02:42 -04:00
James Cammarata
0859ba7726
Adjust field loading order for vars and tweak post_validate exclusion logic
...
FieldAttributes will now by default not be post_validated unless a flag
is set on them in the class, as a large number of fields are really there
simply to be inherited by Task/PlayContext and shouldn't be templated too
early.
The other (unrelated to the base issue) in #12084 is also fixed here, where
the roles field is loaded before vars/vars_files, meaning there are no vars
yet loaded in the play when the templating occurs.
Fixes #12084
2015-08-28 15:56:42 -04:00
Toshio Kuratomi
120243d36d
Fix python3.4 syntax
2015-08-28 10:30:27 -07:00
James Cammarata
5a5b9f211b
Validate variable names when loading 'vars:' blocks
...
TODO: add this to VariableManager to validate vars loaded from files too
Fixes #12022
2015-08-28 11:36:31 -04:00
James Cammarata
af41ba929c
Add float and percent types for FieldAttributes
...
Also sets the max_fail_percentage value to the percent type.
2015-08-26 12:03:47 -04:00
Brian Coca
8aa732e0a4
allow for lists, sets and dicts to default to None, now return empty type in post processing
...
remove defaults from inhertiable fieldattributes to allow for proper detection and override
2015-08-25 10:14:28 -04:00
Marius Gedminas
44c94328c8
Speed up execution
...
`if method in dir(self):` is very inefficient:
- it must construct a list object listing all the object attributes & methods
- it must then perform a O(N) linear scan of that list
Replace it with the idiomatic `if hasattr(self, method):`, which is a
O(1) expected time hash lookup.
Should fix #11981 .
2015-08-25 16:07:21 +03:00
James Cammarata
21e421ce53
Validate required list items are not None or empty strings
...
Fixes #12011
2015-08-24 11:44:28 -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
5eb092b331
Handle top-level vars for include tasks to match v1 syntax
...
The "streamlined" syntax will be deprecated at some point in the future.
Fixes #11882
2015-08-06 17:21:02 -04:00
James Cammarata
37e38924de
Allow field attributes to have priorities
...
So that roles are loaded ahead of all other play fields, meaning any
plugins contained within the roles are loaded first before tasks.
Fixes #11858
2015-08-05 13:54:00 -04:00
James Cammarata
71867f9480
Remove vars attribute from base
...
Fixes #11779
2015-07-29 09:45:30 -04:00
James Cammarata
66a8864ae9
Fix environment setting and inheritence
...
Fixes #11401
2015-07-21 13:57:30 -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
86a83c16b8
Remove some dead code from the base load_data method
...
Was causing an odd error which threw off the error detection code
when the datastructure was a string corresponding to a variable.
2015-07-16 15:10:41 -04:00
James Cammarata
9fe0f21f6a
Allow omit to be used on Playbook-level fields
...
Fixes #11173
2015-07-15 13:53:59 -04:00
James Cammarata
0eb1c880dd
Use itertools instead of set for tags, as the data may not hash well
...
The tags field may contain bad data before it is post_validated, however
some methods assumed it would be a simple list or string. Using itertools
gets us around the problem of the data potentially not being hashable
Fixes #9380
2015-06-27 15:19:44 -04:00
James Cammarata
bb8d87ceb6
Allow field attributes which are lists to validate the type of the list items
...
Starting to apply this for tags too, however it is not correcting things
as would be expected.
2015-06-27 01:01:51 -04:00
James Cammarata
cb5f630f33
Don't post_validate vars and vars_files on Play objects
...
Fixes #11343
2015-06-22 11:23:23 -04:00
James Cammarata
c0dfa8d512
Make sure task names are templated before callbacks are sent
2015-06-18 14:27:20 -04:00
James Cammarata
ce3ef7f4c1
Making the switch to v2
2015-05-03 21:47:26 -05:00