Skip to content
Snippets Groups Projects
Commit ffa17ea6 authored by Chris Hines's avatar Chris Hines
Browse files

missing changes from last commit

parent ae2bec62
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,7 @@ app.config['LOCAL_DEV'] = False
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'asdasfdfj'
import datetime
app.config['PERMANENT_SESSION_LIFETIME'] = datetime.timedelta(seconds=300)
app.config['PERMANENT_SESSION_LIFETIME'] = datetime.timedelta(seconds=3600)
app.config['SESSION_REFRESH_EACH_REQUEST'] = True
app.config['SESSION_COOKIE_NAME'] = 'tessession'
app.config['TWSPROXY'] = 'http://localhost:4000/'
......
......@@ -110,15 +110,24 @@ def get_conn_params():
logger.debug('entering get_conn_params')
identitystr = request.args.get('identity')
identityparams = json.loads(identitystr)
interfacestr = request.args.get('interface')
interfaceparams = json.loads(interfacestr)
try:
interfacestr = request.args.get('interface')
interfaceparams = json.loads(interfacestr)
except:
interfaceparams = {}
pass
try:
pathstr = request.args.get('path')
pathparams = json.loads(pathstr)
cdstr = request.args.get('cd')
cdparams = json.loads(cdstr)
except:
pathparams = None
cdparams = None
try:
appstr = request.args.get('app')
appparams = json.loads(appstr)
except:
import traceback
logger.error('exception retrieving app params')
logger.error(traceback.format_exc())
appparams = {}
params = {}
......@@ -129,6 +138,8 @@ def get_conn_params():
params.update(interfaceparams)
params['user'] = identityparams['username']
params['host'] = identityparams['site']['host']
params['path'] = pathparams
params['cd'] = cdparams
logger.debug('leaving get_conn_params')
......@@ -193,9 +204,15 @@ class JobStat(Resource):
"""
import logging
logger = logging.getLogger()
params = get_conn_params()
sshsess = SSHSession.get_sshsession()
sshsess.refresh()
try:
params = get_conn_params()
except:
flask_restful.abort(400, "connection parameters not correctly defined")
try:
sshsess = SSHSession.get_sshsession()
sshsess.refresh()
except:
flask_restful.abort(500, "Error relating to the ssh sessions")
try:
host = params['identity']['site']['host']
except (TypeError, KeyError) as e:
......@@ -216,13 +233,27 @@ class JobStat(Resource):
if not (res['stderr'] == '' or res['stderr'] is None or res['stderr'] == b''):
logger.error(res['stderr'])
flask_restful.abort(400, message=res['stderr'].decode())
jobs = json.loads(res['stdout'].decode())
try:
jobs = json.loads(res['stdout'].decode())
# Attach the identity information to the job before returning it
for j in jobs:
j['identity'] = params['identity']
# Attach the identity information to the job before returning it
for j in jobs:
j['identity'] = params['identity']
return jobs
return jobs
except Exception as e:
import traceback
logger.error(e)
logger.error(traceback.format_exc())
flask_resful.abort(400, message=e)
class DirList(Resource):
def get(self):
params = get_conn_params()
sshsess = SSHSession.get_sshsession()
dirls = Ssh.sftpls(sshsess, host=params['identity']['site']['host'],
user=params['identity']['username'], path=params['path'],changepath=params['cd'])
return dirls
class JobCancel(Resource):
"""
......@@ -252,8 +283,16 @@ class JobSubmit(Resource):
params = get_conn_params()
logger.debug('entering JobSubmit.post {}'.format(params))
sshsess = SSHSession.get_sshsession()
data = request.get_json()
logger.debug(data)
try:
script = data['app']['startscript'].format(**data)
except:
flask_restful.abort(400,message='Incomplete job information was passed to the backend.')
logger.debug('script formated to {}'.format(script))
res = Ssh.execute(sshsess, host=params['identity']['site']['host'], user=params['identity']['username'],
cmd=params['interface']['submitcmd'], stdin=params['app']['startscript'])
cmd=params['interface']['submitcmd'], stdin=script)
if not (res['stderr'] == '' or res['stderr'] is None or res['stderr'] == b''):
logger.debug('failed to submit job')
logger.debug(res['stderr'])
......@@ -393,3 +432,4 @@ api.add_resource(JobConnect, '/connect/<int:jobid>/<string:batchhost>')
# api.add_resource(SessionTest,'/sesstest')
#api.add_resource(StartAgent,'/startagent')
api.add_resource(SSHAgent,'/sshagent')
api.add_resource(DirList,'/ls')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment