Пример #1
0
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:
Пример #2
0
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()
Пример #3
0
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:
Пример #4
0
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()


###########################################################
Пример #5
0
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,
Пример #6
0
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()
Пример #7
0
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,