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": {
"module_args": {
"checksum_algorithm": "sha1",
"follow": false,
"get_checksum": true,
"get_md5": true,
"mime": false,
"path": "/dev"
},
"module_name": "stat"
},
"item": "/dev",
"stat": {
"atime": 1548686732.628008,
"ctime": 1548686731.6280031,
"dev": 6,
"executable": true,
"exists": true,
"gid": 0,
"gr_name": "root",
"inode": 2,
"isblk": false,
"ischr": false,
"isdir": true,
"isfifo": false,
"isgid": false,
"islnk": false,
"isreg": false,
"issock": false,
"isuid": false,
"mode": "0755",
"mtime": 1548686731.6280031,
"nlink": 21,
"path": "/dev",
"pw_name": "root",
"readable": true,
"rgrp": true,
"roth": true,
"rusr": true,
"size": 4340,
"uid": 0,
"wgrp": false,
"woth": false,
"writeable": false,
"wusr": true,
"xgrp": true,
"xoth": true,
"xusr": true
}
},
"msg": "All assertions passed"
}
ok: [localhost] => (item=/home) => {
"changed": false,
"item": {
"changed": false,
"invocation": {
"module_args": {
"checksum_algorithm": "sha1",
"follow": false,
"get_checksum": true,
"get_md5": true,
"mime": false,
"path": "/home"
},
"module_name": "stat"
},
"item": "/home",
"stat": {
"atime": 1548687317.493867,
"ctime": 1519054783.2176335,
"dev": 64512,
"executable": true,
"exists": true,
"gid": 0,
"gr_name": "root",
"inode": 13631489,
"isblk": false,
"ischr": false,
"isdir": true,
"isfifo": false,
"isgid": false,
"islnk": false,
"isreg": false,
"issock": false,
"isuid": false,
"mode": "0755",
"mtime": 1519054783.2176335,
"nlink": 5,
"path": "/home",
"pw_name": "root",
"readable": true,
"rgrp": true,
"roth": true,
"rusr": true,
"size": 4096,
"uid": 0,
"wgrp": false,
"woth": false,
"writeable": false,
"wusr": true,
"xgrp": true,
"xoth": true,
"xusr": true
}
},
"msg": "All assertions passed"
}
TASK [Stat filesystem no with_items] *******************************************
ok: [localhost]
TASK [Confirming ownership of dev] *********************************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}
PLAY RECAP *********************************************************************
localhost : ok=5 changed=0 unreachable=0 failed=0
Is there any way to avoid printing the entire stat dictionary for each item? I have tried no_log: True, but that eliminates everything (i.e., so the output doesn't even include the path being tested):
TASK [Confirming ownership of filesystems] *************************************
ok: [localhost] => (item=(censored due to no_log)) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
ok: [localhost] => (item=(censored due to no_log)) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
Ideally, the output would be similar to that when not using with_items. i.e.:
TASK [Confirming ownership of filesystems] *************************************
ok: [localhost] => (item=/dev) => {
"changed": false,
"msg": "All assertions passed"
}
ok: [localhost] => (item=/home) => {
"changed": false,
"msg": "All assertions passed"
}
Thanks for any advice.
Rob