diff --git a/bin/linspector b/bin/linspector index b576abb..275dc0c 100755 --- a/bin/linspector +++ b/bin/linspector @@ -126,7 +126,8 @@ def main(): for hostgroup in layout.get_hostgroups(): job_count += (hostgroup.get_services().__len__() * hostgroup.get_hosts().__len__()) - start_date = datetime.datetime.now() + start_date = datetime.datetime.now() + datetime.timedelta(seconds=30) + time_delta = 0 jobs = [] count = 0 diff --git a/linspector/config/hostgroups.py b/linspector/config/hostgroups.py index 422add2..55fe17c 100644 --- a/linspector/config/hostgroups.py +++ b/linspector/config/hostgroups.py @@ -18,6 +18,7 @@ along with this program. If not, see . """ from logging import getLogger +import netaddr logger = getLogger(__name__) @@ -82,10 +83,23 @@ class HostGroup(object): def add_members(self, member): self.__add_internal(self.get_members(), member) - - def add_hosts(self, host): - self.__add_internal(self.get_hosts(), host) - + + def add_host(self, host): + if "/" in host: + try: + from IPy import IP + ips = list(str(ip) for ip in IP(host)) + #ips = [str(ip) for ip in list(netaddr.IPNetwork(host))] + self.hosts.extend(ips) + except Exception, e: + logger.error("Could not explode IP-range (%s). Maybe you need the IPy module.\n%s" % (host, e)) + else: + self.hosts.append(host) + + def add_hosts(self, hosts): + for host in hosts: + self.add_host(host) + def add_parents(self, parent): self.__add_internal(self.get_parents(), parent)