The `set_stats` module does not make the "stats" available to the current
playbook.

The workflow from tower is effectively to use `set_stats` to accumulate
some data for a subsequent playbook in a workflow, then tower collects
these stats, and passes them back in as extra-vars.  So effectively, they
are only useful to the subsequent playbooks in a workflow.

I have an example callback and instructions that showcase this flow outside
of tower:

https://gist.github.com/sivel/eaa83e2b1c36719359e0671afa8cd039

If you want the vars available from within the current playbook, and the
subsequent playbook, you will need both a `set_facts` and a `set_stats`
task.

On Tue, Oct 27, 2020 at 9:25 AM Hiero-nymo <[email protected]> wrote:

> Hi Vladimir,
>
> Ok, It's running in this context by me too, thank you for your help...
> Does this means, that we cannot parse this variable in this role?
>
> Best regards,
> H
>
> On Tuesday, October 27, 2020 at 11:55:33 AM UTC+1 [email protected] wrote:
>
>> On Tue, 27 Oct 2020 03:26:02 -0700 (PDT)
>> Hiero-nymo <[email protected]> wrote:
>>
>> > I'm taking the hostname in playbook via set_stats but I cannot check if
>> my
>> > variable are correct.
>> > ---
>> > - hosts: all
>> > gather_facts: yes
>> >
>> > pre_tasks:
>> > - name: get the hostname
>> > set_stats:
>> > data:
>> > inv_host: "{{ inventory_hostname }}"
>> >
>> > - name: get result
>> > debug:
>> > msg: "{{ inv_host}}"
>> > [...]
>> > And here's the result:
>> > fatal: [xx.xx.xx.xx]: FAILED! => ... The error was: 'inv_host' is
>> undefined
>>
>> The variable "inv_host" is valid in the context of custom status
>> only. The module set_stats works as expected. For example
>>
>> shell> cat pb.yml
>> - hosts: localhost
>> tasks:
>> - set_stats:
>> data:
>> inv_host: "{{ inventory_hostname }}"
>>
>> shell> ANSIBLE_SHOW_CUSTOM_STATS=True ansible-playbook pb.yml
>> ...
>> PLAY RECAP **************************************************
>> localhost: ok=2 changed=0 unreachable=0 failed=0 skipped=0
>> rescued=0 ignored=0
>>
>> CUSTOM STATS: ***********************************************
>>
>> RUN: inv_host: localhost
>>
>> --
>> Vladimir Botka
>>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/2d4afa06-7ade-4956-81ba-64cb043ca90en%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/2d4afa06-7ade-4956-81ba-64cb043ca90en%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Matt Martz
@sivel
sivel.net

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAD8N0v8x48d765xy%3Dc%3D18DnbpVq7NoZqhzHptrcoakrpiDt8iQ%40mail.gmail.com.

Reply via email to