Esempio n. 1
0
    def test_submission_template_nodes(self):
        cluster = {
            '_id': 'dummy',
            'type': 'trad',
            'name': 'dummy',
            'config': {
                'host': 'dummy',
                'ssh': {
                    'user': '******',
                    'passphrase': 'its a secret'
                },
                'scheduler': {
                    'type': 'slurm'
                }
            }
        }
        job_id = '123432423'
        job_model = {
            '_id': job_id,
            'queueJobId': '1',
            'name': 'dummy',
            'commands': ['ls', 'sleep 20', 'mpirun -n 1000000 parallel'],
            'output': [{'tail': True,  'path': 'dummy/file/path'}]
        }

        # Just nodes specfied
        path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"],
                            'tests', 'cases', 'fixtures', 'job',
                            'slurm_submission_script_nodes.sh')

        with open(path, 'r') as fp:
            expected = fp.read()

        job_params = {
            'numberOfNodes': 12312312
        }
        script = job._generate_submission_script(job_model, cluster, job_params)
        self.assertEqual(script, expected)

        # Nodes with number of cores
        path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"],
                            'tests', 'cases', 'fixtures', 'job',
                            'slurm_submission_script_nodes_cores.sh')

        with open(path, 'r') as fp:
            expected = fp.read()

        job_params = {
            'numberOfNodes': 12312312,
            'numberOfCoresPerNode': 8
        }
        script = job._generate_submission_script(job_model, cluster, job_params)
        self.assertEqual(script, expected)
Esempio n. 2
0
    def test_submission_template_nodes(self):
        cluster = {
            '_id': 'dummy',
            'type': 'trad',
            'name': 'dummy',
            'config': {
                'host': 'dummy',
                'ssh': {
                    'user': '******',
                    'passphrase': 'its a secret'
                },
                'scheduler': {
                    'type': 'slurm'
                }
            }
        }
        job_id = '123432423'
        job_model = {
            '_id': job_id,
            'queueJobId': '1',
            'name': 'dummy',
            'commands': ['ls', 'sleep 20', 'mpirun -n 1000000 parallel'],
            'output': [{
                'tail': True,
                'path': 'dummy/file/path'
            }]
        }

        # Just nodes specfied
        path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"], 'tests',
                            'cases', 'fixtures', 'job',
                            'slurm_submission_script_nodes.sh')

        with open(path, 'r') as fp:
            expected = fp.read()

        job_params = {'numberOfNodes': 12312312}
        script = job._generate_submission_script(job_model, cluster,
                                                 job_params)
        self.assertEqual(script, expected)

        # Nodes with number of cores
        path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"], 'tests',
                            'cases', 'fixtures', 'job',
                            'slurm_submission_script_nodes_cores.sh')

        with open(path, 'r') as fp:
            expected = fp.read()

        job_params = {'numberOfNodes': 12312312, 'numberOfCoresPerNode': 8}
        script = job._generate_submission_script(job_model, cluster,
                                                 job_params)
        self.assertEqual(script, expected)