from remote_run import remote_run, to_string, viz from jetlag import Universal, RemoteJobWatcher from knownsystems import * import sys from random import randint uv = Universal() uv.load( backend=backend_agave, notify='*****@*****.**', jetlag_id='rostam-sbrandt', ) print("The complete list of valid jetlag_id's that can be used for this test:") for sys in uv.systems(): print(sys) print() def fib(n): if n < 2: return n else: return fib(n - 1) + fib(n - 2) fibno = randint(13, 20) print('fib(', fibno, ')=...', sep='', flush=True) job = remote_run(uv, fib, (fibno, ), nodes=1, ppn=1) job.wait()
#!/usr/bin/env python3 from jetlag import Universal, pp, mk_input, pcmd, RemoteJobWatcher from knownsystems import * from time import sleep import os import html import re # Test creation of shelob configuration using Agave uv = Universal() uv.init(backend=backend_agave, notify='{NOTIFY_URL_PASSWORD}', **rostam) os.unlink(uv.get_auth_file()) uv.init(backend=backend_agave, notify='{NOTIFY_URL_PASSWORD}', **rostam) uv.configure_from_ssh_keys() j1 = RemoteJobWatcher(uv, uv.hello_world_job('fork')) print("Job was submitted") j1.wait() assert j1.status() == "FINISHED" err = j1.err_output() assert re.search(r'(?m)^This is stderr', err) out = j1.std_output() assert re.search(r'(?m)^This is stdout', out) if True: j2 = RemoteJobWatcher(uv, uv.hello_world_job('queue')) print("Job was submitted") j2.wait() assert j2.status() == "FINISHED" else:
from jetlag import Universal, pp, mk_input, pcmd, RemoteJobWatcher from knownsystems import * from time import sleep import os import html uv = Universal() uv.init(backend=backend_tapis, notify='*****@*****.**', **shelob) j1 = RemoteJobWatcher(uv, uv.hello_world_job('fork')) print("Job was submitted") j1.stop() j1.wait() assert j1.status() == "STOPPED" print("Test passed") exit(0)
from jetlag import Universal, pp, mk_input, pcmd, RemoteJobWatcher from knownsystems import * from time import sleep import os import html # Test creation of shelob configuration using Agave uv = Universal() uv.init(backend=backend_tapis, notify='*****@*****.**', **rostam) uv.configure_from_ssh_keys() j1 = RemoteJobWatcher(uv, uv.hello_world_job('fork')) print("Job was submitted") j1.wait() assert j1.status() == "FINISHED" if False: # This does not work with Agave j2 = RemoteJobWatcher(uv, uv.hello_world_job('queue')) print("Job was submitted") j2.wait() assert j2.status() == "FINISHED" else: print("Test skipped: Tapis can't queue on slurm") print("Test passed") exit(0)
from gui_fun import gui_fun, settings from jetlag import Universal uv = Universal() settings(uv.loadf, {"passw": "password", "utype": ["tapis", "agave"]}) r = gui_fun(uv.loadf) def query_jetlag_id(jid): return jid def set_jetlag_id(jid): uv.load(uv.values["backend"], uv.values["notify"], jid) print("jetlag id set to:", uv.values["jetlag_id"]) def on_load(_): jetlag_id = uv.values["jetlag_id"] if jetlag_id is None or jetlag_id.strip() in ["unknown", "none", ""]: jids = uv.jetlag_ids() if len(jids) == 0: print( "You are not authorized to use JetLag. Contact [email protected]" ) else: print("You have not supplied a JetLag id... querying") settings(query_jetlag_id, {"jid": jids}) res = gui_fun(query_jetlag_id) res.add_listener(set_jetlag_id)
from jetlag import Universal, pp, mk_input, pcmd, RemoteJobWatcher from knownsystems import * import pprint pp = pprint.PrettyPrinter(indent=4) from time import sleep import os import html # Test creation of shelob configuration using Agave uv = Universal() uv.init( backend=backend_tapis, #notify = "https://www.cct.lsu.edu/~sbrandt/pushbullet.php?key={PBTOK_PASSWORD}&status=${JOB_STATUS}:${JOB_ID}", notify='*****@*****.**', **shelob) uv.configure_from_ssh_keys() j1 = RemoteJobWatcher(uv, uv.hello_world_job('fork')) print("Job was submitted") j1.wait() assert j1.status() == "FINISHED" j2 = RemoteJobWatcher(uv, uv.hello_world_job('queue')) print("Job was submitted") j2.wait() if j2.status() != "FINISHED": pp.pprint(j2.full_status()) assert False print("Test passed")
from jetlag import Universal, pp, mk_input, pcmd from time import sleep import os import html from knownsystems import * if False: uv = Universal() uv.init(backend=backend_agave, notify='*****@*****.**', **shelob) uv.configure_from_ssh_keys() # Check configuration... uv = Universal() uv.load(backend_agave, '*****@*****.**', 'shelob') uv.check_values(shelob) mm = uv.get_meta('system-config-sbrandt-shelob') pp.pprint(mm) uv = Universal() uv.load(backend_agave, '*****@*****.**', 'rostam') uv.check_values(rostam) uv = Universal() uv.load(backend_tapis, '*****@*****.**', 'shelob') uv.check_values(shelob) uv = Universal() uv.load(backend_tapis, '*****@*****.**', 'rostam') uv.check_values(rostam)