I could rit playbook to get uptime but how we can take action on the output received from ansible.
how we can grep days from below output and rit restart code for the same.
ok: [NESSTDDB01] => {
“result.stdout”: " 12:03pm up 343 days 16:57, 1 user, load average: 5.15, 5.37, 5.21"
If days are greater than 100 then restart node
how we can achieve this.
Why not just use ansible fact
- name: Restart server
shell: sleep 2 && /sbin/reboot
async: 1
poll: 0
when: ansible_uptime_seconds > 8640000
Thanks kai,
But what if i want to grep days from output and then write condition on it. Is it possible.
Now it will not possible for most of the thing to have direct implementation. Hence can we grep >100 days from output and then restart.
You could always use
when: result.stdout | search('[0-9]{3,} days')