Package linspector :: Package lib :: Package services :: Module tcpconnect
[hide private]
[frames] | no frames]

Source Code for Module linspector.lib.services.tcpconnect

 1  """ 
 2  The tcpconnect service. This is to check if a service on a specific port is reachable. 
 3   
 4  This should just return 0 on success and NOT 0 on error. Just to make internals generic to just report this code and 
 5  not use a parser. 
 6  """ 
 7   
 8  import socket 
 9  from service import Service 
10   
11   
12 -class TcpconnectService(Service):
13 - def __init__(self, **kwargs):
14 super(TcpconnectService, self).__init__(**kwargs) 15 16 args = self.get_arguments() 17 if "port" in args: 18 self.port = args["port"] 19 else: 20 raise Exception("There is no port set")
21
22 - def needs_arguments(self):
23 return True
24
25 - def execute(self, log):
26 try: 27 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 28 except socket.error, msg: 29 log.w("%s\n" % msg[1]) 30 self.errorcode = 1 31 32 try: 33 sock.connect((self.host, self.port)) 34 except socket.error, msg: 35 log.w("%s\n" % msg[1]) 36 self.errorcode = 2 37 38 sock.close() 39 return
40 41
42 -def create(**kwargs):
43 return TcpconnectService(**kwargs)
44