fix ipv6 sysbus request
This commit is contained in:
		
							
								
								
									
										18
									
								
								dyndomain
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								dyndomain
									
									
									
									
									
								
							@@ -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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user