Skip to content
Snippets Groups Projects
makehosts.py 1.16 KiB
Newer Older
#!/usr/bin/python
import sys
import json
import socket
filename = sys.argv[1]
try:
 domain = sys.argv[2]
except IndexError:
 domain = None
f=open(filename,'r')
s=f.read()
d=json.loads(s)
f.close()
hosts={}

for group in d['groups'].keys():
    i=0
    for h in d['groups'][group]:
Chris Hines's avatar
Chris Hines committed
      name = d['hostvars'][h]['ansible_hostname']
        hosts[h] = [name]
        hosts[h] = ['%s.%s %s'%(name,domain,name)]
for h in sorted(hosts.keys()):
	for addr in d['hostvars'][h]['ansible_all_ipv4_addresses']:
	    if "172.16.200" in addr:
		string="%s"%addr
		for name in hosts[h]:
		    string=string+" %s"%(name)
		print string
for h in sorted(hosts.keys()):
Jupiter Hu's avatar
Jupiter Hu committed
    if d['hostvars'].has_key(h):
        string="%s"%(d['hostvars'][h]['ansible_default_ipv4']['address'])
        for name in hosts[h]:
            string=string+" %s"%(name)
        print string

for h in sorted(hosts.keys()):
    if d['hostvars'].has_key(h):
        if d['hostvars'][h].has_key('ansible_tun0'):
            string="%s"%(d['hostvars'][h]['ansible_tun0']['ipv4']['address'])
            string=string+" %s-vpn"%h
            print string