[tripleo][ansible] the current action plugins use patterns are suboptimal?
Bogdan Dobrelya
bdobreli at redhat.com
Mon Aug 3 12:25:37 UTC 2020
On 8/3/20 12:36 PM, Sagi Shnaidman wrote:
> Hi, Bogdan
>
> thanks for raising this up, although I'm not sure I understand what it
> is the problem with using action plugins.
> 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,
I believe the cases that require the use of those should be justified.
For the given example, that manages containers in a loop via calling a
module, what the written custom callback plugin buys for us? That brings
code to maintain, extra complexity, like handling possible corner cases
in async mode, dry-run mode etc. But what is justification aside of
looks handy?
> lookup, inventory or any other plugin we already use?
> 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.
> 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.
> 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.
>
> Thanks
>
> [1] https://docs.ansible.com/ansible/latest/plugins/plugins.html
> [2]
> https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/template.py
>
> On Mon, Aug 3, 2020 at 11:19 AM Bogdan Dobrelya <bdobreli at redhat.com
> <mailto:bdobreli at redhat.com>> wrote:
>
> There is a trend of writing action plugins, see [0], for simple things,
> like just calling a module in a loop. I'm not sure that is the
> direction
> TripleO should go. If ansible is inefficient in this sort of tasks
> without custom python code written, we should fix ansible. Otherwise,
> what is the ultimate goal of that trend? Is that having only action
> plugins in roles and playbooks?
>
> Please kindly asking the community to stop that, make a step back and
> reiterate with the taken approach. Thank you.
>
> [0] https://review.opendev.org/716108
>
>
> --
> Best regards,
> Bogdan Dobrelya,
> Irc #bogdando
>
>
>
>
> --
> Best regards
> Sagi Shnaidman
--
Best regards,
Bogdan Dobrelya,
Irc #bogdando
More information about the openstack-discuss
mailing list