示例#1
0
文件: submit.py 项目: kwtillma/pbs
    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)
示例#2
0
    def qsub(self, name, host, script, template=None, kind="dict"):
        """
        Executes the qsub command on a given host.
        NOTE this method may not yet be fully implemented

        :param name: name of the script
        :param host: host on which the script is to be run
        :param script: The name of the script
        :param template: The script is wrapped into a template
        :param kind: The return is passed as dict, yaml, xml
        :return:
        """
        self.jobid_incr()
        jobscript = self.create_script(name, script, template)

        # copy the script to the remote host
        self._write_to_file(jobscript, name)
        # copy script to remote host

        remote_path = self.data.get("cloudmesh", "pbs", host, "scripts")

        print(remote_path)
        xmkdir(host, remote_path)

        manager_host = self.manager(host)

        # call qsub on the remot host
        r = Shell.scp(name, manager_host + ":" + remote_path)
        jobid = Shell.ssh(manager_host,
                          "qsub {0}/{1}".format(remote_path, name)).rstrip()

        return self.jobstatus(host, jobid, kind=kind)
示例#3
0
    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)
示例#4
0
文件: OpenPBS.py 项目: kwtillma/pbs
    def qsub(self, name, host, script, template=None, kind="dict"):
        """
        Executes the qsub command on a given host.
        NOTE this method may not yet be fully implemented

        :param name: name of the script
        :param host: host on which the script is to be run
        :param script: The name of the script
        :param template: The script is wrapped into a template
        :param kind: The return is passed as dict, yaml, xml
        :return:
        """
        self.jobid_incr()
        jobscript = self.create_script(name, script, template)

        # copy the script to the remote host
        self._write_to_file(jobscript, name)
        # copy script to remote host

        remote_path = self.data.get("cloudmesh", "pbs", host, "scripts")

        print(remote_path)
        xmkdir(host, remote_path)

        manager_host = self.manager(host)

        # call qsub on the remot host
        r = Shell.scp(name, manager_host + ":" + remote_path)
        jobid = Shell.ssh(manager_host, "qsub {0}/{1}".format(remote_path, name)).rstrip()

        return self.jobstatus(host, jobid, kind=kind)
示例#5
0
文件: submit.py 项目: kwtillma/pbs
    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
示例#6
0
    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
示例#7
0
    pbs = OpenPBS(deploy=True)

    manager = pbs.manager(host)

    pprint(pbs.nodes(host))

    pprint(pbs.nodes_distribution(host))

    pprint(pbs.nodes_sum(host))
    sys.exit()

    pbs.info()

    manager = pbs.manager(host)
    xmkdir(manager, "~/scripts/test")

    print(pbs)

    script_template = pbs.read_script("etc/job.pbs")
    print(script_template)

    script = """
    uname -a
    """

    jobname = "job-" + pbs.jobid
    job_script = pbs.create_script(jobname, script, script_template)

    print(job_script)
示例#8
0
文件: OpenPBS.py 项目: kwtillma/pbs
    pbs = OpenPBS(deploy=True)

    manager = pbs.manager(host)

    pprint(pbs.nodes(host))

    pprint(pbs.nodes_distribution(host))

    pprint(pbs.nodes_sum(host))
    sys.exit()

    pbs.info()

    manager = pbs.manager(host)
    xmkdir(manager, "~/scripts/test")

    print(pbs)

    script_template = pbs.read_script("etc/job.pbs")
    print(script_template)

    script = """
    uname -a
    """

    jobname = "job-" + pbs.jobid
    job_script = pbs.create_script(jobname, script, script_template)

    print(job_script)