1) How can I NOT print what server2 is printing/showing?
I'd say add a when clause to the task, like:
- name: Print results
ansible.builtin.debug:
msg: "{{ zero }}"
when: "some condition here"
so the print only happens when the condition is met. The condition might
be some value from the message_files variable
Or maybe something like:
when: meages_files.ssfiles | selectattr('size', '==', 0)
not sure about that though because I don't understand really what
meages_files.ssfiles | selectattr('size', '==', 0) does
On 4/24/24 9:26 PM, [email protected] wrote:
I have a playbook I'm developing where I'm trying to find any server
that has a 0 length /var/log/messages files. When I find those, I
want to restart the rsyslog service on those. So right now I'm
setting this fact as follows:
---
- hosts: my_hosts
become: true
become_method: sudo
gather_facts: false
tasks:
- name: Determine if /var/log/messages is zero-length
ansible.builtin.find:
paths: /var/log
patterns: messages
register: messages_files
- name: Set fact for all servers that have zero-length /var/log/messages
ansible.builtin.set_fact:
zero: "{{ messages_files.files | selectattr('size', '==', 0) }}"
- name: Print results
ansible.builtin.debug:
msg: "{{ zero }}"
When the debug print happens, I get all servers printing out either
the file attributes, or an empty string:
ok: [server1] => {
"msg": [
{
"atime": 1713683723.242925,
"ctime": 1713683723.242925,
"dev": 64777,
"gid": 10,
"gr_name": "wheel",
"inode": 8212,
"isblk": false,
"ischr": false,
"isdir": false,
"isfifo": false,
"isgid": false,
"islnk": false,
"isreg": true,
"issock": false,
"isuid": false,
"mode": "0640",
"mtime": 1713683723.242925,
"nlink": 1,
"path": "/var/log/messages",
"pw_name": "root",
"rgrp": true,
"roth": false,
"rusr": true,
"size": 0,
"uid": 0,
"wgrp": false,
"woth": false,
"wusr": true,
"xgrp": false,
"xoth": false,
"xusr": false
}
]
}
ok: [server2] => {
"msg": []
}
So, 2 questions:
1) How can I NOT print what server2 is printing/showing?
2) Once I fix #1, how can I get just the hostnames of those servers
where the size of the file is 0, then start another play to restart
rsyslog on only those?
Thanks,
Harry
--
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/5617fb1f-3aa7-45a3-ba84-656b7b786c86n%40googlegroups.com
<https://groups.google.com/d/msgid/ansible-project/5617fb1f-3aa7-45a3-ba84-656b7b786c86n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
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/4a2f58ef-70b8-4784-9725-14b37e8875a1%40mailbox.org.