qsub = False db = DbPBS() db.clear() db.info() db.update(host="india", user=False) print(db.list(output="table")) print(db.list(output="csv")) print(db.list(output="dict")) print(db.list(output="yaml")) banner("user") db.clear() db.update(host="india") print(db.list(output="table")) if qsub: banner('qsub') pbs = OpenPBS() jobname = "job-" + pbs.jobid + ".pbs" host = "india" script_template = pbs.read_script("etc/job.pbs") print(script_template) r = db.qsub(jobname, host, 'echo "Hello"', template=script_template) pprint(r) banner('variable list') pprint(OpenPBS.variable_list(r))
class TestPBSubmit: filename = "pbs.db" host = "india" script = """ uname -a """ def setup(self): # HEADING() self.pbs = OpenPBS(deploy=True) self.manager = self.pbs.manager(self.host) def teardown(self): # HEADING() pass # def test_clear(self): # HEADING() # assert not os.path.isfile(self.filename) def test_generate_script(self): HEADING() banner("Create Dir") xmkdir(self.manager, "~/scripts/test") assert self.pbs.data.get("cloudmesh.pbs.{0}.manager".format(self.host)) script_template = self.pbs.read_script("etc/job.pbs") jobname = "job-" + self.pbs.jobid job_script = self.pbs.create_script(jobname, self.script, script_template) print(job_script) assert "uname" in job_script def test_job_submit(self): HEADING() xmkdir(self.manager, "~/scripts/test") self.pbs.jobid_incr() banner('qsub') jobname = "job-" + self.pbs.jobid + ".pbs" print(jobname) print (self.host) script_template = self.pbs.read_script("etc/job.pbs") r = self.pbs.qsub(jobname, self.host, 'echo "Hello"', template=script_template) pprint(r) #banner('variable list') #pprint(self.pbs.variable_list(r)) assert len(r.keys()) == 1 banner('status') jobid = self.pbs.getid(r) print (jobid) r = self.pbs.jobstatus(self.host, jobid) print(r) #pprint (pbs.data) # banner("table") # print(pbs.db.list(attributes, output="table")) #banner("yaml") #print(pbs.db.list(attributes, output="yaml")) #banner("dict") #print(pbs.db.list(attributes, output="dict")) #r = self.pbs.qstat("india") #banner("RESULT") #pprint(r) """
class TestPBSubmit: filename = "pbs.db" host = "india" script = """ uname -a """ def setup(self): # HEADING() self.pbs = OpenPBS(deploy=True) self.manager = self.pbs.manager(self.host) def teardown(self): # HEADING() pass # def test_clear(self): # HEADING() # assert not os.path.isfile(self.filename) def test_generate_script(self): HEADING() banner("Create Dir") xmkdir(self.manager, "~/scripts/test") assert self.pbs.data.get("cloudmesh.pbs.{0}.manager".format(self.host)) script_template = self.pbs.read_script("etc/job.pbs") jobname = "job-" + self.pbs.jobid job_script = self.pbs.create_script(jobname, self.script, script_template) print(job_script) assert "uname" in job_script def test_job_submit(self): HEADING() xmkdir(self.manager, "~/scripts/test") self.pbs.jobid_incr() banner('qsub') jobname = "job-" + self.pbs.jobid + ".pbs" print(jobname) print(self.host) script_template = self.pbs.read_script("etc/job.pbs") r = self.pbs.qsub(jobname, self.host, 'echo "Hello"', template=script_template) pprint(r) #banner('variable list') #pprint(self.pbs.variable_list(r)) assert len(r.keys()) == 1 banner('status') jobid = self.pbs.getid(r) print(jobid) r = self.pbs.jobstatus(self.host, jobid) print(r) #pprint (pbs.data) # banner("table") # print(pbs.db.list(attributes, output="table")) #banner("yaml") #print(pbs.db.list(attributes, output="yaml")) #banner("dict") #print(pbs.db.list(attributes, output="dict")) #r = self.pbs.qstat("india") #banner("RESULT") #pprint(r) """