So I noticed that older versions (2.1.1) of ansible didn't have this
problem, and I noticed that the verbosity of assert is caused by the
following line in assert.py:

result['_ansible_verbose_always'] = True

If I comment that out, I get the quieter behavior I (and others, based on
some reported github issues) am looking for.  So can anyone explain the
purpose of the above line?  Why was it added to assert.py?  What is
_ansible_verbose_always for?  Could I add another parameter to assert.py
(maybe quiet) and, if set to True, then do not set
result['_ansible_verbose_always'] to True?  I appreciate I'm getting into
the weeds here, but I found it curious that assert got noisy in more recent
versions.

Rob

On Wed, Feb 6, 2019 at 12:36 PM Rob Wagner <[email protected]> wrote:

> Thanks Felix.  That's a clever idea.  I tested it and I get:
>
> ok: [localhost] => (item=/dev) => {
>     "changed": false,
>     "item": [
>         "/dev",
>         "root"
>     ],
>     "msg": "All assertions passed"
> }
> ok: [localhost] => (item=/home) => {
>     "changed": false,
>     "item": [
>         "/home",
>         "root"
>     ],
>     "msg": "All assertions passed"
> }
>
> I don't really understand why it needs to include "item" in the dict
> (i.e., after => ), since it's already present in the output (i.e., before
> => ), but this is better than the original.  Thanks again.
>
> Rob
>
> On Wed, Jan 30, 2019 at 3:43 PM 'Felix Fontein' via Ansible Project <
> [email protected]> wrote:
>
>> Hi Rob,
>>
>> > Hey Felix - can you elaborate?  I'm already using:
>> >
>> > loop_control:
>> >       label: "{{ item.item }}"
>> >
>> > As shown in my post.  It doesn't quench the output of the items.  Am
>> > I missing something?
>>
>> sorry, I guess I misunderstood something. The problem is that assert
>> always enables verbose output, so you cannot get rid of item
>> completely. What you can do is tidy up item so only the important
>> things are in there.
>>
>> You could try something like
>>
>>   loop: |
>>     {{ filesystems_stat.results | map(attribute='item')
>>      | zip(filesystems_stat.results | map(attribute='stat.pw_name'))
>>      | list }}
>>
>> Then you should be able to access item.item via item.0 and
>> item.stat.pw_name via item.1, i.e. the rest of the task would be
>>
>>   assert:
>>     that: item.1 == 'root'
>>   loop_control:
>>     label: "{{ item.0 }}"
>>
>> (I haven't tested this, so it might contain bugs, but in principle that
>> should work. Note that the zip filter is Ansible specific, while the
>> map and list filters are generic Jinja2.)
>>
>> (Also: with_items does the same as loop if you give it a simple list;
>> you should switch to loop in such cases, and stop using with_items if
>> not explicitly needed.)
>>
>> Cheers,
>> Felix
>>
>>
>>
>> >
>> > Rob
>> >
>> > On Monday, January 28, 2019 at 2:11:57 PM UTC-5, Felix Fontein wrote:
>> > >
>> > > Hi,
>> > >
>> > > check out the label directive for loop_control:
>> > >
>> > >
>> https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#loop-control
>> > >
>> > > Cheers,
>> > > Felix
>> > >
>> > >
>> > >
>> > > On Mon, 28 Jan 2019 07:54:39 -0800 (PST)
>> > > [email protected] <javascript:> wrote:
>> > >
>> > > > Hey all-
>> > > >
>> > > > I'm using stat and with_items to check proper ownership of
>> > > > various files. Is there any way to reduce the volume of output
>> > > > (i.e., eliminate everything in red, below)?
>> > > >
>> > > > rowagn@localhost:~/data-platform/oracle/ansible/db12r2$ cat
>> > > > test.yml ---
>> > > > - hosts: localhost
>> > > >   tasks:
>> > > >   - name: Stat filesystems
>> > > >     stat: path="{{ item }}"
>> > > >     with_items:
>> > > >       - /dev
>> > > >       - /home
>> > > >     register: filesystems_stat
>> > > >
>> > > >   - name: Confirming ownership of filesystems
>> > > >     assert:
>> > > >       that: "{{ item.stat.pw_name == 'root' }}"
>> > > >     with_items: "{{ filesystems_stat.results }}"
>> > > >     loop_control:
>> > > >       label: "{{ item.item }}"
>> > > >
>> > > >   - name: Stat filesystem no with_items
>> > > >     stat: path="/dev"
>> > > >     register: dev_stat
>> > > >
>> > > >   - name: Confirming ownership of dev
>> > > >     assert:
>> > > >       that: "{{ dev_stat.stat.pw_name == 'root' }}"
>> > > >
>> > > > rowagn@localhost:~/data-platform/oracle/ansible/db12r2$
>> > > > ansible-playbook -i "localhost," -c local test.yml
>> > > >
>> > > > PLAY [localhost]
>> > > > ***************************************************************
>> > > >
>> > > > TASK [setup]
>> > > > *******************************************************************
>> > > > ok: [localhost]
>> > > >
>> > > > TASK [Stat filesystems]
>> > > > ********************************************************
>> > > > ok: [localhost] => (item=/dev)
>> > > > ok: [localhost] => (item=/home)
>> > > >
>> > > > TASK [Confirming ownership of filesystems]
>> > > > *************************************
>> > > > ok: [localhost] => (item=/dev) => {
>> > > >     "changed": false,
>> > > >     "item": {
>> > > >         "changed": false,
>> > > >         "invocation": {
>> > > > [...]
>> > >
>> >
>>
>>
>> --
>> Felix Fontein -- [email protected] -- https://felix.fontein.de/
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/ansible-project/XRfVnH088fk/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/ansible-project/20190130214324.6f725e36%40rovaniemi
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAMc-rNON45HcFBWBAhMdtUnypLVABFvJtRuUPbeZR_jmerpttg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to