A few of things:

 - `include:` still exists, yes we are planning to eventually deprecate as 
it has mixed static/dynamic behaviour and it is not easy to know which you 
will get

 - `include_role`/`include_tasks` were created to represent the 'dynamic' 
parts of the existing `include`, but they have been a work in progress, we 
do think we have almost finalized them now and hope to mark them as 
'stableinterface' soon

 - `import_role`/`import_tasks`/`import_playbook` are the 'static' parts, 
this helps disambiguate the `include:` behaviors and make them explicit.

 - the distinctions should be easy now import_X has all keywords set as 
'inheritance', while include_X have all keywords apply to it, but not 
inherited. This still leaves things that make no sense like `delegate_to` 
or `become` on includes, but we are planning on documenting and warning on 
those in the future.

 - `include_role`/`include_tasks` have gotten the `apply` keyword (in 2.7) 
that allows for inheritance, in older versions you can use a `block` as 
shown in previous posts. We hope that this rounds out all the functionality 
needed for these features.

We do try to maintain backwards compatibility, but in this case that means 
`include` as `include_tasks` and `include_roles` were 'new' and 'in 
progress' as we figured out how people are using them and how we think it 
best suits everyone's needs, so backwards compatibility on those was not as 
important as getting the feature set 'right'.  

User feedback has been crucial for this and part of it was that users were 
displeased with things changing even if they liked the changes. We are 
trying to figure out better ways to communicate the state of a feature and 
adjust expectations as not everything we release is complete, perfect and 
immutable.

Thanks for your feedback and your patience,

--------------
Brian Coca

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/735a8ef2-30b6-4a0e-bbf1-fc3c2b1516b9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to