[% # Returns a list of IPs to ping. # @param argv.dns add dns IPs # # @return out list of pingnodes. -%] [% PERL -%] my $gateway = (split(" ", `ip route | grep default`))[2]; my @nodes = ($gateway); [% IF argv.dns == 'yes' %] my @dnsnodes = (split(" ", `grep -v '^#' /etc/resolv.conf | grep nameserver | cut -f2 -d' '|xargs`)); foreach my $host (@dnsnodes) { my $res = `/bin/ping -c 1 -s 164 $host -W 1 2>/dev/null`; if ($res =~ '1 received') { if ($res =~ 'truncated') { print "#$host reply truncated\n"; } else { push(@nodes, $host); } } else { print "# $host error\n"; } } [% END %] $stash->set(out => \@nodes); [% END -%]