Pavilion Job Objects

pavilion.jobs module

Jobs encapsulate a scheduler job, tying together everything used to start said job, the job id, and the tests being run in that job.

class pavilion.jobs.Job(path: Path)

Bases: object

Encapsulate a scheduler job.

INFO_FN = 'info'
KICKOFF_FN = 'kickoff'
KICKOFF_LOG_FN = 'kickoff.log'
NODE_INFO_FN = 'node_info.pkl'
SCHED_LOG_FN = 'sched.log'
TESTS_DIR = 'tests'
get_test_id_pairs() List[ID_Pair]

Return the test objects for each test that’s part of this job. Only tests that still exist are returned.

property info: Optional[JobInfo]

Return (and load, if necessary), the job id.

load_sched_data() Nodes

Load the scheduler data that was saved from the kickoff time.

classmethod new(pav_cfg, tests: list, kickoff_fn: Optional[str] = None)

Create a new job directory, and return the Job instance.

safe_delete(force: bool = False)

Delete the job directory, but only if all related tests are deleted.

Parameters

force – Delete the job directory regardless of the existence of tests.

save_node_data(nodes: Nodes)

Save node information (from kickoff time) for the given test.

set_kickoff(kickoff_name: Optional[str] = None)

Set the name for the kickoff script to the one given, This will also create a symlink to this file via the default kickoff name.

If no name is given, then the name will be the default, and the actual file result in the link location.

exception pavilion.jobs.JobError

Bases: RuntimeError

Raised when there’s a problem with a Job directory.

pavilion.jobs.JobInfo

Scheduler defined job info dict. Keys are dependent on the specific scheduler plugin. All data added should be json serializable.

alias of Dict[str, str]