fix ipv6 sysbus request

This commit is contained in:
Gilles Grandou 2019-10-05 23:01:08 +02:00
parent 6c4bc82319
commit 2cc7d966a0
1 changed files with 11 additions and 7 deletions

View File

@ -44,15 +44,19 @@ def ping(hostname):
return 0 if ret.returncode else 1
def get_ipv6_hosts():
r = sysbus.requete('Hosts:getDevices')
r = sysbus.requete('Devices:get')
ipv6_hosts = dict()
for host in r['status']:
hostname=host['hostName']
for addr in host['addresses']:
ipv6_hosts[hostname] = []
if addr['family'] == 'IPv6' and addr['scope'] == 'global':
ipv6_hosts[hostname].append(addr['ipAddress'])
for h in r['status']:
if not 'IPv6Address' in h or not h['IPv6Address']:
continue
hostname = h['Name']
for a in h['IPv6Address']:
if a['Scope'] != 'global' or a['Status'] != 'reachable':
continue
if not hostname in ipv6_hosts:
ipv6_hosts[hostname] = []
ipv6_hosts[hostname].append(a['Address'])
return ipv6_hosts