X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Flinux%2Ftraceroute.py;h=2e03f62836ef195a0bd87aa4f3c2b393417e924f;hb=bf43c83ced9389c8fa9468d7c23f67d35af963da;hp=4d55eb100a123858523beda125d39dce6a973b57;hpb=e219e0dbd16174fed127a613fb0a0fb3203609f3;p=nepi.git diff --git a/src/nepi/resources/linux/traceroute.py b/src/nepi/resources/linux/traceroute.py index 4d55eb10..2e03f628 100644 --- a/src/nepi/resources/linux/traceroute.py +++ b/src/nepi/resources/linux/traceroute.py @@ -23,6 +23,7 @@ from nepi.resources.linux.application import LinuxApplication from nepi.util.timefuncs import tnow import os +import socket @clsinit_copy class LinuxTraceroute(LinuxApplication): @@ -42,12 +43,21 @@ class LinuxTraceroute(LinuxApplication): default = False, flags = Flags.ExecReadOnly) + use_ip = Attribute("useIP", + "Use the IP address instead of the host domain name. " + "Useful for environments were dns resolution problems occur " + "frequently", + type = Types.Bool, + default = False, + flags = Flags.ExecReadOnly) + target = Attribute("target", "Traceroute target host (host that will be pinged)", flags = Flags.ExecReadOnly) cls._register_attribute(countinuous) cls._register_attribute(print_timestamp) + cls._register_attribute(use_ip) cls._register_attribute(target) def __init__(self, ec, guid): @@ -71,7 +81,12 @@ class LinuxTraceroute(LinuxApplication): if self.get("printTimestamp") == True: args.append("""echo "`date +'%Y%m%d%H%M%S'`";""") args.append("traceroute") - args.append(self.get("target")) + + target = self.get("target") + if self.get("useIP") == True: + target = socket.gethostbyname(target) + args.append(target) + if self.get("continuous") == True: args.append("; sleep 2 ; done ")