2.4 Release Notes
-
Minimum supported python version is now 3.6
-
All IO or Processor intensive parts of Pavilion have been made multi-threaded or multi-process,
vastly speeding up many Pavilion operations. -
Tests now have id's of the form '.'. The default label is 'main',
so tests from your 'main' (PAV_CONFIG_DIR defined) pavilion config directory
can leave off the label. Labels aren't saved, but determined when configs
are loaded. -
Every config directory can (and should) now have a 'config.yaml' that sets the label for tests
built from that config directory, as well as the working_directory for tests created
from those configs. If this does not exist, a default label is applied to the tests,
and the general pavilion.yaml defined working directory is used. -
Pavilion has removed all permissions management, except to operate with 'shared_group' as
the default group. Given multiple working directories, it is now up to the user
to set sticky bits on those directories if specific permissions are desired for those tests. -
Test series files now have a 'repeat' config item, to specify the number of times the tests
in the series should be repeated. -
The code for test Series has been refactored and greatly cleaned up.
-
Scheduler plugins have been completely revamped (see below).
- Machines can be 'chunked', and those chunks can be permuted over for smaller run sizes that
still cover the entire system. - Chunk node distributions can be contiguous, random, distributed, and more.
- You can specify a percentage of the system for chunk size or node count.
- Machines can be 'chunked', and those chunks can be permuted over for smaller run sizes that
-
All builtin plugins are now directly integrated into the Pavilion code, to speed plugin search
time. -
Test nodes are (generally) chosen before a test is created, so you can permute over
sched.test_node_list
and similar. -
Added
pav series ls command
-
Added
pav config
commands. -
Backwards compatibility breaks:
- Scheduler configuration has been unified under the 'schedule' key in test configs (see below).
- Imports for the base plugin libraries have changed (but those libraries have not).
- Tests can no longer have skip conditions that are deferred.
- The '--wait' argument of the run command has been removed.
- Tests can no longer set test specific group and permissions
- The 'restart' test series config item is no longer supported.
- Many 'sched' variables in Pavilion test configs have changed names. See
pav show sched --vars slurm
(or 'raw'). - The Slurm MPI scheduler plugin has been merged with Slurm. Use the slurm specific 'mpi_cmd'
parameter to usempirun
instead ofsrun
. Additionalmpirun
options are also available. - In test series files, the 'series' key is now 'test_sets'.
- The
pav series
command is now 'pav series run`
See the RELEASE.txt for a short guide on upgrading tests to use the new scheduling configuration system.