Toshio Kuratomi
09605ce806
Fix facts for the FieldAttribute list change in 30a38f9
2016-04-22 16:31:53 -07:00
James Cammarata
30a38f94ce
Create a special class of list FieldAttribute for splitting on commas
...
Which we're use on a case-by-case basis if we find people were actually
using comma-separated strings for list values outside of hosts. Support
for doing so is now deprecated and users should instead use the full
YAML syntax for lists of values.
Fixes #15291
2016-04-22 14:21:14 -04:00
James Cammarata
6eefc11c39
Make the loop variable (item by default) settable per task
...
Required for include+with* tasks which may include files that also
have tasks containing a with* loop.
Fixes #12736
2016-04-19 01:42:40 -04:00
Toshio Kuratomi
d665911bab
Allow FieldAttribute lists and sets to be set from a comma separated string
2016-03-14 14:53:29 -07:00
James Cammarata
299d93f6e9
Updating unit tests for PlayIterator
...
This knowingly introduces a broken test, planning to fix that later.
2016-03-07 13:03:06 -05:00
John Barker
8b4ebd8e4a
Make it easier to read error message
2016-03-07 12:49:41 +00:00
Thomas Quinot
2eb22d5536
Fix minor typo in comment
2016-01-10 10:27:50 +01:00
Brian Coca
b92cb93539
unconditionally set vars on init to avoid issues with var precedence
2015-12-01 21:24:46 -08:00
Brian Coca
a6f6a80caa
avoid inheritance issues with default=dict declaration at class level
...
this should avoid the issue of subsequent plays not prompting for a var
prompted for in a previous play.
2015-12-01 08:18:31 -08:00
Toshio Kuratomi
1b743436b9
Do not double transform to unicode
2015-11-25 07:48:52 -08:00
Charles Paul
1e5a205389
fixing errors with utf-8 values
...
removing utf-8 stanza
changing cast to binary_type instead
using to_unicode
2015-11-25 11:47:25 +09:00
Toshio Kuratomi
7ecfa072da
Move the rest of the playbook code to use global display
2015-11-11 10:44:22 -08:00
Toshio Kuratomi
c7b69127ec
Remove dead code
2015-11-11 08:12:21 -08:00
James Cammarata
e36b4e2a13
Merge pull request #13072 from Yannig/devel_cache_optimization
...
Cache optimization
2015-11-09 14:54:06 -05:00
James Cammarata
76ae577519
Ensure environment is inherited properly (task->block/include->play)
2015-11-09 14:51:07 -05:00
Yannig Perré
12a6fb9633
Small speed improvement with huge inventory (100+ hosts).
2015-11-07 19:32:10 +01: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
1dc23ea779
Merge pull request #12866 from bcoca/more_inheritence
...
More inheritence
2015-10-27 14:46:42 -04:00
James Cammarata
677a2f95e5
Make sure Base attributes are copied cleanly
...
Fixes #12882
2015-10-26 12:09:58 -04:00
James Cammarata
86de1429e5
Cleaning up FIXMEs
2015-10-22 16:03:50 -04:00
Brian Coca
d861e7dd5d
moved several directives so they are not settable at play, block, role and task levels
2015-10-22 07:51:22 -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
63e288354e
Fix bug in way omitted values were set
2015-10-12 09:00:27 -04:00
James Cammarata
6dd38c2a10
Fix parent attribute lookup to be default
...
Fixes #12526
2015-09-26 11:28:29 -04:00
James Cammarata
c9a004227e
Improve error catching from malformed playbook data
...
Fixes #12478
2015-09-23 08:56:36 -04:00
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