<div dir="ltr"><div dir="ltr">Hi, Bogdan<br><br>thanks for raising this up, although I'm not sure I understand what it is the problem with using action plugins.<br>Action plugins are well known official extensions for Ansible, as any other plugins - callback, strategy, inventory etc [1]. It is not any hack or unsupported workaround, it's a known and official feature of Ansible. Why can't we use it? What makes it different from filter, lookup, inventory or any other plugin we already use?<br>Action plugins are also used wide in Ansible itself, for example templates plugin is implemented with action plugin [2]. If Ansible can use it, why can't we? I don't think there is something with "fixing" Ansible, it's not a bug, this is a useful extension.<br>What regards the mentioned action plugin for podman containers, it allows to spawn containers remotely while skipping the connection part for every cycle. I'm not sure you can "fix" Ansible not to do that, it's not a bug. We may not see the difference in a few hosts in CI, but it might be very efficient when we deploy on 100+ hosts oro even 1000+ hosts. In order to evaluate this on bigger setups to understand its value we configured both options - to use action plugin or usual module.<br>If better performance of action plugin will be proven, we can switch to use it, if it doesn't make a difference on bigger setups - then I think we can easily switch back to using an usual module.<br><br>Thanks<br><br>[1] <a href="https://docs.ansible.com/ansible/latest/plugins/plugins.html">https://docs.ansible.com/ansible/latest/plugins/plugins.html</a><br>[2] <a href="https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/template.py">https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/template.py</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 3, 2020 at 11:19 AM Bogdan Dobrelya <<a href="mailto:bdobreli@redhat.com">bdobreli@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">There is a trend of writing action plugins, see [0], for simple things, <br>
like just calling a module in a loop. I'm not sure that is the direction <br>
TripleO should go. If ansible is inefficient in this sort of tasks <br>
without custom python code written, we should fix ansible. Otherwise, <br>
what is the ultimate goal of that trend? Is that having only action <br>
plugins in roles and playbooks?<br>
<br>
Please kindly asking the community to stop that, make a step back and <br>
reiterate with the taken approach. Thank you.<br>
<br>
[0] <a href="https://review.opendev.org/716108" rel="noreferrer" target="_blank">https://review.opendev.org/716108</a><br>
<br>
<br>
-- <br>
Best regards,<br>
Bogdan Dobrelya,<br>
Irc #bogdando<br>
<br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Best regards<br></div>Sagi Shnaidman<br></div></div></div>