Skip to content

self.exclusive not honored in rfm.RunOnlyRegressionTest #765

@psteinb

Description

@psteinb

I am using reframe 2.18-dev0 distributed via pip in a Python 3.6.5 environment. I wrote the following simple RunOnly Regression test:

import reframe as rfm
import reframe.utility.sanity as sn


@rfm.simple_test
class ExampleRunOnlyTest(rfm.RunOnlyRegressionTest):
    def __init__(self):
        super().__init__()
        self.descr = ('ReFrame tutorial demonstrating the class'
                      'RunOnlyRegressionTest')
        self.valid_systems = ['*']
        self.valid_prog_environs = ['*']
        self.sourcesdir = None

        lower = 90
        upper = 100
        self.executable = 'sleep 100 && echo "Random: $((RANDOM%({1}+1-{0})+{0}))"'.format(
            lower, upper)
        self.sanity_patterns = sn.assert_bounded(sn.extractsingle(
            r'Random: (?P<number>\S+)', self.stdout, 'number', float),
            lower, upper)
        self.maintainers = ['put-your-name-here']
        self.tags = {'tutorial'}
        self.exclusive = True
        self.tasks_per_node = 1

As you can see, this is an exact copy of the tutorial except for the last 2 lines. When I do the following on our slurm 18.08.5 cluster:

$ reframe -C settings.py -r -c $PWD/checks --keep-stage-files --exec-policy async
Command line: /home/steinbac/.local/bin/reframe -C ../reframe-regressions/furiosa-reframe-settings.py -r -c /home/steinbac/development/slurm_sandbox/reframe-exclusive-bug/checks --keep-stage-files --exec-policy async
Reframe version: 2.18-dev0
Launched by user: steinbac
Launched on host: falcon2
Reframe paths
=============
    Check prefix      : 
    Check search path : '/home/steinbac/development/slurm_sandbox/reframe-exclusive-bug/checks'
    Stage dir prefix     : /lustre/projects/hpcsupport/steinbac/development/slurm_sandbox/reframe-exclusive-bug/stage/
    Output dir prefix    : /lustre/projects/hpcsupport/steinbac/development/slurm_sandbox/reframe-exclusive-bug/output/
    Perf. logging prefix : /lustre/projects/hpcsupport/steinbac/development/slurm_sandbox/reframe-exclusive-bug/perflogs
[==========] Running 1 check(s)
[==========] Started on Tue Apr 16 15:56:18 2019 

[----------] started processing ExampleRunOnlyTest (ReFrame tutorial demonstrating the classRunOnlyRegressionTest)
[ RUN      ] ExampleRunOnlyTest on furiosa:login using builtin-gnu
[ RUN      ] ExampleRunOnlyTest on furiosa:gpu using builtin-gnu
[ RUN      ] ExampleRunOnlyTest on furiosa:gpu using tmod-based-intel
[ RUN      ] ExampleRunOnlyTest on furiosa:batch using builtin-gnu
[ RUN      ] ExampleRunOnlyTest on furiosa:batch using tmod-based-intel
[----------] finished processing ExampleRunOnlyTest (ReFrame tutorial demonstrating the classRunOnlyRegressionTest)

[----------] waiting for spawned checks to finish
JOBID     PARTITIO                   NAME ST       TIME TIME_LIMI NODE CPUS           START_TIME NODELIST(REASON)
22583629     batch rfm_ExampleRunOnlyTest  R       0:43     10:00    1    1  2019-04-16T15:56:18 c07n01
22583630     batch rfm_ExampleRunOnlyTest  R       0:43     10:00    1    1  2019-04-16T15:56:18 c07n01
22583631     batch rfm_ExampleRunOnlyTest  R       0:43     10:00    1    1  2019-04-16T15:56:18 c07n01
22583632     batch rfm_ExampleRunOnlyTest  R       0:43     10:00    1    1  2019-04-16T15:56:18 c07n01

I see that the all jobs run on the same node (c07n01 in this example). Is this by intention?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions