fedora-ansible/scripts/installedon

38 lines
769 B
Python
Executable File

#!/usr/bin/python -tt
import ansible
import ansible.runner
import ansible.playbook
import sys
import os
import time
if len(sys.argv) < 2:
print "installedon hostname or group"
sys.exit(1)
pattern = '*'
if len(sys.argv) > 1:
pattern=';'.join(sys.argv[1:])
conn = ansible.runner.Runner(pattern=pattern, timeout=20, forks=30, remote_user='root')
conn.module_name='shell'
conn.module_args='rpm -qa --qf "%{installtime}\n" | sort -rn| tail -n 1'
res = conn.run()
for host in sorted(res['dark'].keys()):
print '%s is down' % host
now = time.time()
for host in sorted(res['contacted'].keys()):
insttime = float(res['contacted'][host]['stdout'])
days = (now - insttime) / 86400
print '%s install is %d days old' % (host, days)