Thomas Quinot
5d3cb636ad
Minor comment fix
2015-08-05 11:30:26 +02:00
James Cammarata
61e76fd707
Allow conditionals on PlaybookInclude statements
...
Fixes #11852
2015-08-04 15:24:28 -04:00
James Cammarata
5266679964
Use templar all the way down
...
Fixes bugs related to creating Templar() objects on the fly, where
the shared loader objects (serialized to TaskExecutor) aren't used
so information loaded into plugin loaders after forking is lost.
Fixes #11815
2015-08-04 12:25:53 -04:00
James Cammarata
c3ce140dd2
Exclude loop_args from post_validation for tasks
...
This field is templated specially during the TaskExecutor's loop
calculation, so there's no need to post validate it again.
Fixes #11481
2015-08-04 01:12:27 -04:00
Brian Coca
015b922c1f
fix quoting for become commands
...
fixes #11808
2015-08-03 18:49:23 -04:00
James Cammarata
8279557e8f
Allow role names to be templated
...
Fixes #10858
2015-08-03 16:26:13 -04:00
James Cammarata
bcbcfc79be
Fix relative paths for included files
...
Also modifies the Play class to not include become* fields in the
post-validation step.
Fixes #11353
2015-08-03 12:04:31 -04:00
Abhijit Menon-Sen
a9b020d6de
Remove TODO: the play already overrides options
2015-08-01 20:09:02 +05:30
Abhijit Menon-Sen
7b3cb2126c
Remove outdated FIXME; ROLE_CACHE is already implemented below
2015-08-01 09:34:32 +05:30
Toshio Kuratomi
d1933accc3
Fixes for synchronize with delegate_to
2015-07-31 17:41:41 -07:00
Brian Coca
fa8043c0ba
corrected typo
2015-07-31 13:49:48 -04:00
Brian Coca
f16b745f17
now properly uses default port if defined
2015-07-31 12:01:58 -04:00
James Cammarata
efcad3aa6d
Re-allow vars on tasks, specifically for includes
2015-07-30 14:14:49 -04:00
James Cammarata
782c2f75df
Make sure role deps inherit conditionals/tags specified via params
...
Fixes #7353
2015-07-29 14:49:08 -04:00
James Cammarata
71867f9480
Remove vars attribute from base
...
Fixes #11779
2015-07-29 09:45:30 -04:00
Brian Coca
cc85473c1e
show role search path when not finding a role
...
fixes #9770
2015-07-28 19:07:47 -04:00
James Cammarata
42cfacf83b
Switch up the task/host overrides for PlayContext to use the compiled vars dict
...
Fixes #11436
2015-07-28 16:25:44 -04:00
Brian Coca
0b6fadaad7
started implementing diff
...
diff now works with template
also fixed check mode for template and copy
2015-07-26 12:22:22 -04:00
James Cammarata
7bc789ba64
Properly template task names
...
Also fixes in the correct way the bug in which the role name was
incorrectly showing up twice in the task name.
Fixes #10347
2015-07-23 15:45:36 -04:00
James Cammarata
37ed756d66
Make sure role names are strings
...
Fixes #10497
2015-07-23 15:26:31 -04:00
Toshio Kuratomi
f8e4aff4c1
Cleanups:
...
* Don't reference __class__ when we can use the instance itself
* use isdisjoint() as it can stop once a match is found
* Remove a condtional that was taken care of in the conditonal just above
2015-07-23 12:13:45 -07: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
135404738e
Fix a couple start-at-task issues
...
* added pattern matching to match v1 functionality
* check the task name, not the task+role name for matches
* make sure the input is unicode
Fixes #11692
2015-07-22 07:45:03 -04:00
James Cammarata
975172c1ef
Make sure role name doesn't end up in task name more than once
...
Fixes #11691
2015-07-22 07:28:25 -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
5347db2952
Also check the play basedir for the role
...
Fixes #11328
2015-07-20 14:47:38 -04:00
James Cammarata
dca36c1d16
Reestablishing the use of tags/when for role duplication detection
...
Not figuring these in can cause problems with "diamond" pattern relationships,
even though this is still not quite optimal.
2015-07-20 14:37:20 -04:00
Pierre-Louis Bonicoli
8c392a94b7
Play.get_name: remove prefix, return name only
2015-07-20 12:41:39 +02:00
Abhijit Menon-Sen
28e2eae902
Make gathering=explicit work again
...
There was a confusion between the valid values for defaults.gathering
(explicit/implicit/smart) and a play's gather_facts setting (boolean),
which resulted in gathering=explicit being ignored.
2015-07-17 13:05:00 +05:30
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
052f3c2ece
Fixing allow_duplicate and variable resolution bugs
...
Fixes #11205
2015-07-16 11:39:40 -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
f40b66d841
Make sure the basedir is unicode
...
Fixes #10773
2015-07-12 16:40:00 -04:00
James Cammarata
c5c1dc2f11
Removing tags/when from role param hash calculation
2015-07-11 21:49:35 -04:00
James Cammarata
f8ddf2eb04
Move role cache into the play to avoid roles crossing play boundaries
2015-07-10 02:43:53 -04:00
James Cammarata
b520d5bc60
Lots of fixes for integration test bugs
2015-07-10 01:53:59 -04:00
Brian Coca
b5f3e84014
now allows for empty vars sections, returns empty dict
...
fixes #11532
2015-07-08 22:45:01 -04:00
James Cammarata
2e5dfd57cc
Clear flag indicating role had run before each play is run
...
Fixes #11514
2015-07-07 21:47:48 -04:00
James Cammarata
1d8ccfb99f
Fixing includes where the included file is "{{item}}"
2015-07-06 14:30:56 -04:00
James Cammarata
7c1d569a26
Make sure tags are pulled out of playbook includes properly
...
Fixes #9862
2015-06-30 16:09:04 -04:00
James Cammarata
0cfebb8760
Fixes a bug whereby tags are expected to be a set
...
Fixes #11424
Fixes #11429
2015-06-30 07:18:41 -04:00
James Cammarata
927072546b
Fixing up some issues with plugin loading
2015-06-29 22:49:25 -04:00
James Cammarata
24226646fc
When loading the play hosts list, enforce some consistency
...
Fixes #9580
2015-06-28 01:00:32 -04:00
James Cammarata
9d9cd0c42c
Handle getting the ds for Conditionals which may not be mixed in
2015-06-28 00:30:27 -04:00
James Cammarata
8ef28253e3
Properly catch and report conditional test failures
2015-06-27 15:37:10 -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
f68223b9ed
Don't add module args into variables at all
...
Getting recursive errors otherwise, so this is probably not something
we want to do. This most likely only worked in v1 due to the fact that
module args were templated earlier than the point in Runner() when
they were fed into the templating engine.
2015-06-27 01:01:51 -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
d0d9be30d5
Correctly compile handler blocks for dependent roles
2015-06-23 15:48:48 -04:00
James Cammarata
72d4b40a26
Don't allow empty (none) loop values
...
Fixes #8593
2015-06-23 10:42:33 -04:00
James Cammarata
24d2202591
Make sure role parsing can handle a few more types in includes/defs
2015-06-23 10:20:09 -04:00
James Cammarata
aa53212a9b
Don't use all task params for vars, just the module args
2015-06-23 10:20:09 -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
Benno Joy
be81b650e8
fixes issue 11286 where role handlers are not run
2015-06-21 00:36:37 -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
ff998b6022
Make sure the templar is using the right vars when evaluating conditionals
2015-06-17 00:10:11 -04:00
Brian Coca
a267f93c83
removed incorrect assumption on become user being set
2015-06-14 21:05:23 -04:00
Matt Martz
6a1c175991
Raise AnsibleParserError instead of AssertionError
2015-06-06 09:16:38 -05:00
Brian Coca
d67c9858a9
removed become_pass as it should not be used
2015-06-05 18:43:42 -04:00
James Cammarata
f3f3fb7c49
Fixing vars_prompt
2015-06-04 13:54:51 -04:00
Matt Martz
f983557e7e
Don't set a default on the _become FieldAttribute. Fixes #11136
2015-06-03 09:54:00 -05:00
James Cammarata
7985d2a8be
Moving included file stuff to a proper dedicated class and file (v2)
2015-05-28 23:58:38 -05: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
7b1c6fbab9
Fix playbook includes so tags are obeyed (v2)
2015-05-11 12:48:03 -05:00
Brian Coca
56c9614e74
made playbook include taggable, removed unused conditional import
2015-05-08 14:26:06 -04:00
James Cammarata
50542db0be
Make the default playbook name an empty string (v2)
2015-05-06 02:56:52 -05:00
James Cammarata
fba5588028
Handle empty role definitions in YAML (v2)
2015-05-05 13:17:04 -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
Carlos E. Garcia
cfbfd38723
just a few spelling error changes
2015-04-28 09:36:42 -04:00
James Cammarata
f4172fb9da
Fix tag handling on meta:flush_handlers tasks
...
Fixes #10758
2015-04-17 13:02:09 -05:00
Jesse Rusak
652cd6cd5e
Fix --force-handlers, and allow it in plays and ansible.cfg
...
The --force-handlers command line argument was not correctly running
handlers on hosts which had tasks that later failed. This corrects that,
and also allows you to specify force_handlers in ansible.cfg or in a
play.
2015-04-10 19:38:59 -04:00
Brian Coca
0d1e2e74a1
converted error on play var initialization into warning with more information
2015-03-31 23:07:03 -04:00
Brian Coca
662b35cbce
readded sudo/su vars to allow role/includes to work with passed sudo/su
2015-03-27 18:30:42 -04:00
Brian Coca
fd2d7fe447
Merge pull request #10290 from bcoca/remove_bare_warning
...
removed bare variable detection as this confuses people
2015-03-18 20:43:56 -04:00
Brian Coca
bbdcba53da
fixed bug on using su on play level not setting become method correctly
2015-03-16 19:37:03 -04:00
Brian Coca
a675b10b3b
Merge pull request #10329 from bcoca/var_merge_combined
...
changed from hash_merge to combine vars which resets default to
2015-03-12 10:58:12 -04:00
Brian Coca
de5eae2007
fixed traceback when x_user implicitly sets the become method
...
Fixes #10430
Also removed redundant resolution of sudo/su for backwards compatibility which
confused the conflict detection code.
2015-03-11 12:18:53 -04:00
Brian Coca
5f6db0e164
preliminary privlege escalation unification + pbrun
...
- become constants inherit existing sudo/su ones
- become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group
- changed method signatures as privlege escalation is collapsed to become
- added tests for su and become, diabled su for lack of support in local.py
- updated playbook,play and task objects to become
- added become to runner
- added whoami test for become/sudo/su
- added home override dir for plugins
- removed useless method from ask pass
- forced become pass to always be string also uses to_bytes
- fixed fakerunner for tests
- corrected reference in synchronize action plugin
- added pfexec (needs testing)
- removed unused sudo/su in runner init
- removed deprecated info
- updated pe tests to allow to run under sudo and not need root
- normalized become options into a funciton to avoid duplication and inconsistencies
- pushed suppored list to connection classs property
- updated all connection plugins to latest 'become' pe
- includes fixes from feedback (including typos)
- added draft docs
- stub of become_exe, leaving for future v2 fixes
2015-03-10 18:42:36 -04:00
Toshio Kuratomi
89159951dc
Fix name of a task containing a template causing traceback
...
Workaround for #10321 Need to fix better in v2
2015-02-26 14:05:33 -08:00
Brian Coca
c81d981164
Merge pull request #10183 from bcoca/tag_control
...
adds complex tag management
2015-02-25 10:36:11 -05:00
Brian Coca
4fa51652b4
fixed typoe in combined_Vars
2015-02-24 05:26:41 -05:00
Brian Coca
ce764063f1
corrected merge vs combined in all pertinent sections
2015-02-24 05:14:22 -05:00
Toshio Kuratomi
920b71984e
lists => frozenset as we're only using them in membership checks
2015-02-23 07:09:33 -08:00
Brian Coca
7044b5a8d1
removed bare variable detection as this confuses people and forced us to allow for bare expressions
2015-02-19 08:29:53 -05:00
Brian Coca
f6a6df2169
removed unused method
2015-02-13 08:27:35 -05:00
Brian Coca
65c08d1364
added tests
...
refactored task selection into method
list-tasks now uses common method of task selection
always is now skippable if specified in --skip-tags
2015-02-13 08:27:07 -05:00
Brian Coca
6fbbf9c118
simplified if conditions
2015-02-13 08:27:07 -05:00
Brian Coca
6579c5ddf5
fixed skipped tags
2015-02-13 08:27:07 -05:00
Brian Coca
95fa770ba0
adds complex tag management
...
Adds a special tag:
- always: always runs no matter what --tags, --skip-tags say
Adds 4 special keywords for --tags/skip-tags
- all: all tagged + untagged tasks
- tagged: only tagged tasks
- untagged: only untagged tasks
- always: only run tasks tagged 'always'
2015-02-13 08:27:07 -05:00
Brian Coca
cbbe2f4e26
more resilient errors for bad host declarations in play
...
should fix #10148
2015-02-03 10:26:48 -05:00
Brian Coca
540d13cf52
Merge pull request #9404 from mmoya/configure-retry-files
...
Configure retry file usage and location
2015-01-30 15:14:27 -05:00
Brian Coca
1698b17b14
Merge pull request #8651 from ks888/enable-env-kw-at-play-level
...
Enable environment keyword at play level
2015-01-02 11:07:35 -05:00
James Cammarata
f1386bb114
Use more variable sources when templating the play ds
...
Fixes #9699
2014-12-03 12:44:32 -06:00
James Cammarata
6570a6c6de
Use additional vars when templating included file names
...
Fixes #9669
2014-12-01 15:00:14 -06:00
Hagai Kariti
bc505050b0
Don't template play vars by themselves, it's too early
2014-11-26 15:45:38 +02:00