On 09/12/2021 11:36, Chris Jefferies wrote:
> Racke,
> One glitch that I did not understand...
>
> I must add:
>
> host: all
>
> instead of just
>
> hosts:
icinga.example.com
>
> ... and run with all hosts defined in the playbook. I was only using
icinga.example.com (the false name of my server). Now I must add:
>
> when: "{{inventory_hostname == '
icinga.example.com'}}"
>
> to the other tasks. Small price to pay.
>
> Thank you.
Chris, you can still use "hosts:
icinga.example.com" and iterate over the all group:
{% for host in groups['all'] %}
...
{% endfor %}
BTW: the when condition is automatically evaluated by Jinja, so drop the curly braces.
Regards
Racke
>
> On Thursday, December 9, 2021 at 1:12:39 AM UTC-8
ra...@linuxia.de wrote:
>
> On 09/12/2021 10:07, Chris Jefferies wrote:
> > Racke,
> > *ansible_play_hosts* - I did not know about this *magic* variable, as they call it. I'll test but I assume that the attributes come with it.
> >
> > Then you describe defining a task with:
> >
> > run_once: yes
> > delegate_to: localhost
> >
> > I see run_once in the documentation and they said it was like running only on the first host; which is fine because now I want to run using *ansible_play_hosts* which gets me all the hosts.
> >
> > Then instead of using:
> > delegate_to: localhost
> >
> > I think I can delegate to the server I am actually running against:
> > delegate_to:
icinga.example.com <
http://icinga.example.com>
>
> Chris,
>
> yes you can use
icinga.example.com <
http://icinga.example.com> if that host is part of your inventory.
>
> Racke
>
>
> >
> > Or are you suggesting I delegate to localhost, then copy the resulting file?
> >
> > dick,
> > I hope the above result explains what and how I would like to do. But to explain a bit... I want to end up with a file that has something like this content, below. I was trying to figure out a way to subvert the normal processing of an inventory host file and do it all into one file. Racke has show a way of doing this by using a "magic variable" that holds all of the host info I need and how to run it only once so I don't get a bunch of repetitive files being generated. It's beautiful... if it works. ;) I'm sure it will.
> >
> > object Host "
myhost1.mine.me <
http://myhost1.mine.me>" {
> > import "generic-host"
> > address = "192.68.0.1"
> > vars.os = "Linux"
> > }
> > object Host "
myhost2.mine.me <
http://myhost2.mine.me>" {
> > > To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/5b0de281-4c29-49f7-bbcf-0fe2ef957b70n%40googlegroups.com <
https://groups.google.com/d/msgid/ansible-project/5b0de281-4c29-49f7-bbcf-0fe2ef957b70n%40googlegroups.com> <
https://groups.google.com/d/msgid/ansible-project/5b0de281-4c29-49f7-bbcf-0fe2ef957b70n%40googlegroups.com <
https://groups.google.com/d/msgid/ansible-project/5b0de281-4c29-49f7-bbcf-0fe2ef957b70n%40googlegroups.com>> <
https://groups.google.com/d/msgid/ansible-project/5b0de281-4c29-49f7-bbcf-0fe2ef957b70n%40googlegroups.com?utm_medium=email&utm_source=footer <
https://groups.google.com/d/msgid/ansible-project/5b0de281-4c29-49f7-bbcf-0fe2ef957b70n%40googlegroups.com?utm_medium=email&utm_source=footer> <
https://groups.google.com/d/msgid/ansible-project/5b0de281-4c29-49f7-bbcf-0fe2ef957b70n%40googlegroups.com?utm_medium=email&utm_source=footer
> > To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/c0dbc61d-15d1-4ec5-8635-99f42b85fd3en%40googlegroups.com <
https://groups.google.com/d/msgid/ansible-project/c0dbc61d-15d1-4ec5-8635-99f42b85fd3en%40googlegroups.com> <
https://groups.google.com/d/msgid/ansible-project/c0dbc61d-15d1-4ec5-8635-99f42b85fd3en%40googlegroups.com?utm_medium=email&utm_source=footer <
https://groups.google.com/d/msgid/ansible-project/c0dbc61d-15d1-4ec5-8635-99f42b85fd3en%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
>
> --
> Ecommerce and Linux consulting + Perl and web application programming.
> Debian and Sympa administration.
>
>
> To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/a91c1402-047c-4c55-bf10-63e9b472bd58n%40googlegroups.com <
https://groups.google.com/d/msgid/ansible-project/a91c1402-047c-4c55-bf10-63e9b472bd58n%40googlegroups.com?utm_medium=email&utm_source=footer>.