for apprecord in conf.apps: starti = timeTime.time() conf.log.info("Trying to connect to server " + str(apprecord[conf.appIndx_Name])) #Find if we need different ssh server for authentication if apprecord[conf.appIndx_SshHost] == '': sshHost = apprecord[conf.appIndx_ServerName] else: sshHost = apprecord[conf.appIndx_SshHost] try: tunnel = PyroUtil.sshTunnel( remoteHost=apprecord[conf.appIndx_ServerName], userName=apprecord[conf.appIndx_UserName], localPort=apprecord[conf.appIndx_NATPort], remotePort=apprecord[conf.appIndx_RemotePort], sshClient=apprecord[conf.appIndx_SshClient], options=apprecord[conf.appIndx_Options], sshHost=sshHost) # connect to individual applications app = PyroUtil.connectApp( ns, PyroUtil.getNSAppName(conf.jobname, apprecord[conf.appIndx_Name])) if app: appsig = app.getApplicationSignature() msg = "Successfully connected to %-30s (%4.2f s)" % ( appsig, timeTime.time() - starti) conf.log.info(msg) conf.log.info("Time elapsed %f s" % (timeTime.time() - starti)) else:
def main(): global host global jobmanname nshost = '172.30.0.1' nsport = 9090 hkey = 'mupif-secret-key' jobmanname = None debug = False #nshost=None ssh = False #ssh flag (set to True if ssh tunnel need to be established) log = logging.getLogger() try: opts, args = getopt.getopt(sys.argv[1:], "h:j:p:k:u:n:r:t") # print(opts, args) except getopt.GetoptError as err: # print help information and exit: print(str(err)) # will print something like "option -a not recognized" usage() sys.exit(2) for o, a in opts: # if o in ("-p"): # port = int(a) # elif o in ("-h"): # host = a if o in ("-j"): jobmanname = a elif o in ("-k"): hkey = a elif o in ("-t"): ssh = True elif o in ("-u"): username = a elif o in ("-n"): nshost = a elif o in ("-r"): nsport = int(a) else: assert False, "unhandled option" # print("huhu:"+host+str(port)) if (not jobmanname): usage() sys.exit(2) #locate nameserver ns = PyroUtil.connectNameServer(nshost, nsport, hkey) # locate remote jobManager application, request remote proxy jobManUri = ns.lookup(jobmanname) #get local port of jobmanager (from uri) jobmannatport = int(re.search('(\d+)$', str(jobManUri)).group(0)) host = PyroUtil.getIPfromUri(jobManUri) #extablish secure ssh tunnel connection if ssh: (host, jobmannatport, jobManNatHost, port) = PyroUtil.getNSConnectionInfo(ns, jobmanname) tunnel = PyroUtil.sshTunnel(remoteHost=host, userName=username, localPort=jobmannatport, remotePort=port, sshClient='ssh') jobMan = PyroUtil.connectJobManager(ns, jobmanname, hkey=hkey) curses.wrapper(processor, jobMan) if ssh: tunnel.terminate()
results=[] tunnel= None for apprecord in conf.apps: starti = timeTime.time() conf.logger.info("Trying to connect to server " + str(apprecord[conf.appIndx_Name])) #Find if we need different ssh server for authentication if apprecord[conf.appIndx_SshHost] == '': sshHost = apprecord[conf.appIndx_ServerName] else: sshHost = apprecord[conf.appIndx_SshHost] try: tunnel = PyroUtil.sshTunnel(remoteHost=apprecord[conf.appIndx_ServerName], userName=apprecord[conf.appIndx_UserName], localPort=apprecord[conf.appIndx_NATPort], remotePort=apprecord[conf.appIndx_RemotePort], sshClient=apprecord[conf.appIndx_SshClient], options=apprecord[conf.appIndx_Options], sshHost=sshHost) # connect to individual applications app = PyroUtil.connectApp(ns, PyroUtil.getNSAppName(conf.jobname, apprecord[conf.appIndx_Name])) if app: appsig=app.getApplicationSignature() msg = "Successfully connected to %-30s (%4.2f s)"%(appsig, timeTime.time()-starti) conf.logger.info(msg) conf.logger.info("Time elapsed %f s" % (timeTime.time()-starti) ) else: msg = "Unable to connect to " + apprecord[conf.appIndx_Name] conf.logger.error(msg) results.append(msg) finally:
jobid_col = 0 port_col = 35 user_col = 41 time_col = 70 #locate nameserver ns = PyroUtil.connectNameServer(nshost, nsport, hkey) # locate remote jobManager application, request remote proxy jobManUri = ns.lookup(jobmanname) #get local port of jabmanager (from uri) jobmannatport = int(re.search('(\d+)$',str(jobManUri)).group(0)) #extablish secure ssh tunnel connection if ssh: tunnel = PyroUtil.sshTunnel(remoteHost=host, userName=username, localPort=jobmannatport, remotePort=port, sshClient='ssh') jobMan = PyroUtil.connectApp(ns, jobmanname) #ssh flag (set to True if ssh tunnel need to be established) ssh = False curses.wrapper(processor, jobMan) if ssh: tunnel.terminate() ###########################################################
import time as timeTime start = timeTime.time() logger.info('Timer started') # locate nameserver ns = PyroUtil.connectNameServer(nshost=cConf.nshost, nsport=cConf.nsport, hkey=cConf.hkey) logger.info('NS connected: %s' % str(ns)) # Tunnels to different machines machine mieTunnel = PyroUtil.sshTunnel(remoteHost=cConf.mieServer, userName=cConf.mieUser, localPort=cConf.mieNatPort, remotePort=cConf.miePort, sshClient=cConf.sshClient, options=cConf.options, sshHost=cConf.sshHost) tracerTunnel = PyroUtil.sshTunnel(remoteHost=cConf.tracerServer, userName=cConf.tracerUser, localPort=cConf.tracerNatPort, remotePort=cConf.tracerPort, sshClient=cConf.sshClient, options=cConf.options, sshHost=cConf.sshHost) comsolTunnel = PyroUtil.sshTunnel(remoteHost=cConf.mieServer, userName=cConf.mieUser, localPort=cConf.mieNatPort, remotePort=cConf.miePort,
def main(): global host global jobmanname host = 'ksm.fsv.cvut.cz' port = 9090 hkey ="" ssh = False#ssh flag (set to tru if ssh tunnel need to be established) logger = logging.getLogger() try: opts, args = getopt.getopt(sys.argv[1:], "h:j:p:k:u:n:r:t") print(opts, args) except getopt.GetoptError as err: # print help information and exit: print(str(err)) # will print something like "option -a not recognized" usage() sys.exit(2) for o, a in opts: if o in ("-p"): port = int(a) elif o in ("-h"): host = a elif o in ("-j"): jobmanname = a elif o in ("-k"): hkey = a elif o in ("-t"): ssh = True elif o in ("-u"): username = a elif o in ("-n"): nshost = a elif o in ("-r"): nsport = int(a) else: assert False, "unhandled option" print("huhu:"+host+str(port)) #locate nameserver ns = PyroUtil.connectNameServer(nshost, nsport, hkey) # locate remote jobManager application, request remote proxy jobManUri = ns.lookup(jobmanname) #get local port of jabmanager (from uri) jobmannatport = int(re.search('(\d+)$',str(jobManUri)).group(0)) #extablish secure ssh tunnel connection if ssh: tunnel = PyroUtil.sshTunnel(remoteHost=host, userName=username, localPort=jobmannatport, remotePort=port, sshClient='ssh') jobMan = PyroUtil.connectApp(ns, jobmanname) #ssh flag (set to True if ssh tunnel need to be established) ssh = False curses.wrapper(processor, jobMan) if ssh: tunnel.terminate()