Esempio n. 1
0
    def test_all__no_input_data(self):
        tmpdir = tempfile.mkdtemp(
            dir=os.path.join(os.path.expanduser("~/"), "tmp"))
        self._submit_test_job()

        try:
            job_runner = nmpi_saga.JobRunner(
                dict(JOB_SERVICE_ADAPTOR="slurm://localhost",
                     AUTH_USER="******",
                     AUTH_TOKEN=HARDWARE_TOKEN,
                     NMPI_HOST=NMPI_HOST,
                     NMPI_API=NMPI_API,
                     PLATFORM_NAME="nosetest_platform",
                     VERIFY_SSL=VERIFY,
                     WORKING_DIRECTORY=tmpdir,
                     JOB_EXECUTABLE='/usr/bin/python',
                     JOB_QUEUE='intel',
                     DATA_DIRECTORY=tmpdir,
                     DEFAULT_PYNN_BACKEND='nest'))
        except saga.NoSuccess:
            raise unittest.SkipTest("SLURM not available")

        saga_job = job_runner.next()
        self.assertEqual(saga_job.get_state(), saga.job.DONE)
        shutil.rmtree(tmpdir)
Esempio n. 2
0
 def test_get_code_tar(self):
     archive = os.path.join(self.tmp_src_dir, "testcode.tar.gz")
     with tarfile.open(archive, "w:gz") as tf:
         with open("run.py", "w") as fp:
             fp.write(simulation_test_script)
         tf.add("run.py")
         os.remove("run.py")
     job_runner = nmpi_saga.JobRunner(dict(
         JOB_SERVICE_ADAPTOR="fork://localhost",
         AUTH_USER="******",
         AUTH_TOKEN=HARDWARE_TOKEN,
         NMPI_HOST=NMPI_HOST,
         NMPI_API=NMPI_API,
         PLATFORM_NAME="nosetest_platform",
         VERIFY_SSL=VERIFY
     ))
     job = MockSagaJob("submitted", working_directory=self.tmp_run_dir)
     mock_nmpi_job = {
         "code": "file://{}".format(archive)
     }
     job_runner._get_code(mock_nmpi_job, job)
     self.assertEqual(os.listdir(self.tmp_run_dir),
                      ["run.py", "testcode.tar.gz"])
     with open(os.path.join(self.tmp_run_dir, "run.py")) as fp:
         self.assertEqual(fp.read(), simulation_test_script)
Esempio n. 3
0
 def setUp(self):
     try:
         self.job_runner = nmpi_saga.JobRunner(
             dict(JOB_SERVICE_ADAPTOR="slurm://localhost",
                  AUTH_USER="******",
                  AUTH_TOKEN=HARDWARE_TOKEN,
                  NMPI_HOST=NMPI_HOST,
                  NMPI_API=NMPI_API,
                  PLATFORM_NAME="nosetest_platform",
                  VERIFY_SSL=VERIFY))
     except saga.NoSuccess:
         raise unittest.SkipTest("SLURM not available")
Esempio n. 4
0
 def setUp(self):
     self.user_client = nmpi_user.Client("testuser",
                                         token=TEST_TOKEN,
                                         job_service=ENTRYPOINT,
                                         verify=VERIFY)
     self.collab_id = TEST_COLLAB
     self.job_runner = nmpi_saga.JobRunner(
         dict(JOB_SERVICE_ADAPTOR="fork://localhost",
              AUTH_USER="******",
              AUTH_TOKEN=HARDWARE_TOKEN,
              NMPI_HOST=NMPI_HOST,
              NMPI_API=NMPI_API,
              PLATFORM_NAME="nosetest_platform",
              VERIFY_SSL=VERIFY))
Esempio n. 5
0
 def setUp(self):
     try:
         self.job_runner = nmpi_saga.JobRunner(
             dict(JOB_SERVICE_ADAPTOR="slurm://localhost",
                  AUTH_USER="******",
                  AUTH_TOKEN=HARDWARE_TOKEN,
                  NMPI_HOST=NMPI_HOST,
                  NMPI_API=NMPI_API,
                  PLATFORM_NAME="nosetest_platform",
                  VERIFY_SSL=VERIFY))
     except saga.NoSuccess:
         raise unittest.SkipTest("SLURM not available")
     self.tmpdir = os.path.join(
         os.getenv("TMPDIR") or "/tmp/", "nmpi-saga-test")
     os.mkdir(self.tmpdir)
Esempio n. 6
0
 def setUp(self):
     try:
         self.job_runner = nmpi_saga.JobRunner(
             dict(JOB_SERVICE_ADAPTOR="slurm://localhost",
                  AUTH_USER="******",
                  AUTH_TOKEN=HARDWARE_TOKEN,
                  NMPI_HOST=NMPI_HOST,
                  NMPI_API=NMPI_API,
                  PLATFORM_NAME="nosetest_platform",
                  VERIFY_SSL=VERIFY))
     except saga.NoSuccess:
         raise unittest.SkipTest("SLURM not available")
     self.user_client = nmpi_user.Client("testuser",
                                         token=TEST_TOKEN,
                                         job_service=ENTRYPOINT)
     self.collab_id = TEST_COLLAB
Esempio n. 7
0
    def test_get_code_zip(self):
        zipfile = os.path.join(self.tmp_src_dir, "testcode.zip")
        zf = ZipFile(zipfile, "w")
        zf.writestr("run.py", simulation_test_script)
        zf.close()

        job_runner = nmpi_saga.JobRunner(
            dict(JOB_SERVICE_ADAPTOR="fork://localhost",
                 AUTH_USER="******",
                 AUTH_TOKEN=HARDWARE_TOKEN,
                 NMPI_HOST=NMPI_HOST,
                 NMPI_API=NMPI_API,
                 PLATFORM_NAME="nosetest_platform",
                 VERIFY_SSL=VERIFY))
        job = MockSagaJob("submitted", working_directory=self.tmp_run_dir)
        mock_nmpi_job = {"code": "file://{}".format(zipfile)}
        job_runner._get_code(mock_nmpi_job, job)
        self.assertEqual(os.listdir(self.tmp_run_dir),
                         ["run.py", "testcode.zip"])
        with open(os.path.join(self.tmp_run_dir, "run.py")) as fp:
            self.assertEqual(fp.read(), simulation_test_script)
Esempio n. 8
0
    def test_all__no_input_data(self):
        self._submit_test_job()

        try:
            job_runner = nmpi_saga.JobRunner(
                dict(JOB_SERVICE_ADAPTOR="slurm://localhost",
                     AUTH_USER="******",
                     AUTH_TOKEN=HARDWARE_TOKEN,
                     NMPI_HOST=NMPI_HOST,
                     NMPI_API=NMPI_API,
                     PLATFORM_NAME="nosetest_platform",
                     VERIFY_SSL=VERIFY,
                     WORKING_DIRECTORY=self.tmpdir,
                     JOB_EXECUTABLE='/usr/bin/python',
                     JOB_QUEUE=os.getenv("NMPI_TEST_QUEUE") or "intel",
                     DATA_DIRECTORY=self.tmpdir,
                     DEFAULT_PYNN_BACKEND='nest'))
        except saga.NoSuccess:
            raise unittest.SkipTest("SLURM not available")

        saga_job = job_runner.next()
        self.assertEqual(saga_job.get_state(), saga.job.DONE)