diff --git a/salt_observer/management/commands/fetchgrains.py b/salt_observer/management/commands/fetchgrains.py index b2feccc1b270c14d33d63bb3d132c6183934fdd8..65f79f0200ddd36a51a7534e3c7124bdc76af632 100644 --- a/salt_observer/management/commands/fetchgrains.py +++ b/salt_observer/management/commands/fetchgrains.py @@ -35,10 +35,14 @@ class Command(ApiCommand, BaseCommand): def _update_connections(self, interfaces, minion, touched): ''' Update networks and network interfaces ''' + for if_name, if_data in interfaces.items(): if if_name in ['lo', 'lo0']: continue + if not all([if_data['ipv4']['address'], if_data['ipv4']['netmask'], if_data['mac_address']]): + continue + ipv4_network = str(netaddr.IPNetwork('{}/{}'.format(if_data['ipv4']['address'], if_data['ipv4']['netmask'])).network) network = self._update_network(ipv4_network, if_data['ipv4']['netmask']) touched['networks'].append(network)