Skip to content
Compare
Choose a tag to compare
@Paul-Ferrell Paul-Ferrell released this 22 Feb 18:00

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.
  • 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 use mpirun instead of srun. Additional mpirun 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.