[Ansible] Support for playbook execution, not just role execution

Hello,

currently, the Ansible plugin is limited to execute Ansible roles. However,
there are several reasons for considering direct Ansible playbook
execution.

Just with roles, there is a lack of control over the execution order as the
structuring element, the playbook, is statically created by the plugin. In
addition to that, some fundamental features of Ansible on playbook-level
cannot be used with roles, for example strategies
<http://docs.ansible.com/ansible/playbooks_delegation.html#rolling-update-batch-size>
.

Therefore, I think, that the plugin should support playbook execution, not
just role execution.

What do you think about this? I would really appreciate some more thoughts
before starting to work on this.

Thanks for reading.

–Gerrit

> Hello,
>
> currently, the Ansible plugin is limited to execute Ansible roles. However,
> there are several reasons for considering direct Ansible playbook
> execution.
>
> Just with roles, there is a lack of control over the execution order as the
> structuring element, the playbook, is statically created by the plugin. In
> addition to that, some fundamental features of Ansible on playbook-level
> cannot be used with roles, for example strategies
> <http://docs.ansible.com/ansible/playbooks_delegation.html#rolling-update-batch-size&gt;

Dependencies and ordering with roles can be accomplished at the role
level (not via Foreman) - check
http://docs.ansible.com/ansible/playbooks_roles.html#role-dependencies

> Therefore, I think, that the plugin should support playbook execution, not
> just role execution.
>
> What do you think about this? I would really appreciate some more thoughts
> before starting to work on this.

I'm afraid it's an area where the project clashes with Ansible Tower
quite a lot. To be fair I think playbooks would fit better as another
provider for Foreman remote execution model. Unfortunately I couldn't
finish the provider, but it worked (for my dev usecase :slight_smile: )

··· On 12/23, gerrit.schwerthelm@avid.com wrote:

Thanks for reading.

–Gerrit


You received this message because you are subscribed to the Google Groups “foreman-dev” group.
To unsubscribe from this group and stop receiving emails from it, send an email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Daniel Lobato Garcia

@dLobatog

GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30
Keybase: elobato (Daniel Lobato Garcia) | Keybase

Hey Daniel,

thanks for your answer.

Actually, I am also working with role dependencies at the moment, which is
fine for the time being for structuring a play. The new plugin feature of
running roles against hostgroups reduced the need for me to run playbooks
directly. However, it's a bit of a pity that all the playbook-level
features of Ansible like serial execution cannot be used at the moment. I
suppose, we can leave it with just roles for now but maybe we need to find
some ways in order to be able to make use of the playbook-level Ansible
features if required.

–Gerrit

··· On Friday, December 23, 2016 at 4:06:27 PM UTC+1, Daniel Lobato wrote: > > On 12/23, gerrit.sc...@avid.com wrote: > > Hello, > > > > currently, the Ansible plugin is limited to execute Ansible roles. > However, > > there are several reasons for considering direct Ansible playbook > > execution. > > > > Just with roles, there is a lack of control over the execution order as > the > > structuring element, the playbook, is statically created by the plugin. > In > > addition to that, some fundamental features of Ansible on playbook-level > > cannot be used with roles, for example strategies > > < > http://docs.ansible.com/ansible/playbooks_delegation.html#rolling-update-batch-size> > > > Dependencies and ordering with roles can be accomplished at the role > level (not via Foreman) - check > http://docs.ansible.com/ansible/playbooks_roles.html#role-dependencies > > > Therefore, I think, that the plugin should support playbook execution, > not > > just role execution. > > > > What do you think about this? I would really appreciate some more > thoughts > > before starting to work on this. > > I'm afraid it's an area where the project clashes with Ansible Tower > quite a lot. To be fair I think playbooks would fit better as another > provider for Foreman remote execution model. Unfortunately I couldn't > finish the provider, but it worked (for my dev usecase :) ) > > https://github.com/theforeman/foreman_ansible/pull/18 > > > > > Thanks for reading. > > > > --Gerrit > > > > -- > > You received this message because you are subscribed to the Google > Groups "foreman-dev" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to foreman-dev...@googlegroups.com . > > For more options, visit https://groups.google.com/d/optout. > > > -- > Daniel Lobato Garcia > > @dLobatog > blog.daniellobato.me > daniellobato.me > > GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30 > Keybase: https://keybase.io/elobato >