|
import ansible.runner
from ansible.color import stringc
import sys
import socket
import re
import subprocess
host_list = 'qa_servers.txt'
private_key_file = '/root/.ssh/id_rsa'
pattern = '*'
forks = 10
timeout = 30
module_name = 'script'
module_args = 'test.sh'
fp = open('/home/ip.txt', "w+")
# construct the ansible runner and execute on all hosts
results = ansible.runner.Runner(
host_list=host_list,
private_key_file=private_key_file,
pattern=pattern,
forks=forks,
timeout=timeout,
module_name=module_name,
module_args=module_args
).run()
# print results
if results is None:
print "No hosts found"
sys.exit(1)
#print results
for (hostname, result) in results['contacted'].items():
if not 'failed' in result:
ip = result['stdout'].strip()
if ip != "":
output = open('/home/ip.txt', 'a')
output.write(ip)
output.write('\n')
fp.close() |
|
|