Skip to content

Commit

Permalink
Bumped version to 1.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Madeeks committed Sep 5, 2024
1 parent 9153d4b commit 80251b7
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 18 deletions.
17 changes: 9 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,23 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]
## [1.7.0]

### Added

- Added the `sarus ps` command to list running containers. More details [here](https://sarus.readthedocs.io/en/stable/user/user_guide.html#listing-running-containers).
- Added the `sarus kill` command to terminate (and subsequently remove) containers.
- Added the `-n, --name` option the `sarus run` command to specify the name of the container to run. If the option is not specified, Sarus assigns a default name in the form `sarus-container-*`. More details [here](https://sarus.readthedocs.io/en/stable/user/user_guide.html#naming-the-container)
- MPI hook: added support for the environment variable `MPI_COMPATIBILITY_TYPE` that defines the behaviour of the compatibility check of the libraries
that the hook mounts. Valid values are `major`, `full` and `strict`. Default value is `major`.
- MPI hook: added support for the `HOOK_ROOTLESS` environment variable, which enables to use the hook under rootless container runtimes
- SSH Hook: added a poststop functionality that kills the Dropbear process in case the hook does not join the container's PID namespace.
- Added the `sarus ps` command to list running containers
- Added the `sarus kill` command to terminate (and subsequently remove) containers
- Added the `-n, --name` option the `sarus run` command to specify the name of the container to run. If the option is not specified, Sarus assigns a default name in the form `sarus-container-*`.
More details [here](https://sarus.readthedocs.io/en/stable/config/mpi-hook.html#hook-configuration).
- MPI hook: added support for the `HOOK_ROOTLESS` environment variable, enabling the hook to be used in rootless container runtimes. More details [here](https://sarus.readthedocs.io/en/stable/config/mpi-hook.html#hook-configuration).
- SSH Hook: added a poststop functionality that kills the Dropbear process in case the hook does not join the container's PID namespace. More details [here](https://sarus.readthedocs.io/en/stable/config/ssh-hook.html#hook-configuration).

### Changed

- Configuration templates and documentation for OCI hooks now use createRuntime, createContainer or startContainer execution stages, instead of the prestart stage which has been deprecated since version 1.0.2 of the OCI Runtime specification. The only exception is the NVIDIA container toolkit hook.
- Updated the build environment of the Sarus static standalone package to Alpine Linux 3.20 with a GCC 13.2.1 toolchain
- Configuration templates and documentation for OCI hooks now use the `createRuntime`, `createContainer`, or `startContainer` execution stages instead of the `prestart` stage, which has been deprecated since version 1.0.2 of the OCI Runtime specification. The only exception is the NVIDIA Container Toolkit hook.
- Updated the build environment of the Sarus static standalone package to Alpine Linux 3.20 with a GCC 13.2.1 toolchain.
- Updated recommended runc version to 1.1.14
- Updated recommended Boost version to 1.85.0
- Updated recommended RapidJSON version to commit ab1842a2da
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- Chesi, Matteo. ETH Zurich - CSCS
- Cruz, Felipe. ETH Zurich - CSCS
- Fink, Andreas. ETH Zurich - CSCS
- Lee, Gwangmu. ETH Zurich - CSCS
- Hooks, Timothy Dayne
- Madonna, Alberto. ETH Zurich - CSCS
- Manitaras, Theofilos. ETH Zurich - CSCS
Expand Down
10 changes: 5 additions & 5 deletions doc/config/configuration_reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -447,8 +447,8 @@ Example configuration file
"securityChecks": true,
"OCIBundleDir": "/var/sarus/OCIBundleDir",
"rootfsFolder": "rootfs",
"prefixDir": "/opt/sarus/1.6.4",
"hooksDir": "/opt/sarus/1.6.4/etc/hooks.d",
"prefixDir": "/opt/sarus/1.7.0",
"hooksDir": "/opt/sarus/1.7.0/etc/hooks.d",
"tempDir": "/tmp",
"localRepositoryBaseDir": "/home",
"centralizedRepositoryDir": "/var/sarus/centralized_repository",
Expand Down Expand Up @@ -497,15 +497,15 @@ Example configuration file
"/opt"
]
},
"seccompProfile": "/opt/sarus/1.6.4/etc/seccomp/default.json",
"seccompProfile": "/opt/sarus/1.7.0/etc/seccomp/default.json",
"apparmorProfile": "sarus-default",
"selinuxLabel": "system_u:system_r:svirt_sarus_t:s0:c124,c675",
"selinuxMountLabel": "system_u:object_r:svirt_sarus_file_t:s0:c715,c811"
"containersPolicy": {
"path": "/opt/sarus/1.6.4/etc/policy.json",
"path": "/opt/sarus/1.7.0/etc/policy.json",
"enforce": false
},
"containersRegistries.dPath": "/opt/sarus/1.6.4/etc/registries.d"
"containersRegistries.dPath": "/opt/sarus/1.7.0/etc/registries.d"
"defaultMPIType": "mpich",
"repositoryMetadataLockTimings": {
"timeoutMs": 120000,
Expand Down
6 changes: 3 additions & 3 deletions doc/config/ssh-hook.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Hook configuration
The SSH hook must be configured to run as a **createRuntime** and as a **poststop** hook.
In the prestart stage the hook sets up the container to accept connections and starts the Dropbear SSH daemon.
In the poststop stage, cleanup of the SSH daemon process takes place.
One OCI hook JSON configuration files is sufficient, provided it defines ``"stages": ["prestart", "poststop"]``.
One OCI hook JSON configuration file is sufficient, provided it defines ``"stages": ["createRuntime", "poststop"]``.

The hook expects to receive its own name/location as the first argument,
and the string ``start-ssh-daemon`` as positional argument. In addition, the following
Expand Down Expand Up @@ -93,8 +93,8 @@ enabling the SSH hook:
.. literalinclude:: /config/hook_examples/07-ssh-hook.json
:language: json

The poststop functionality is especially valuable in cases where the hook does not actively join the PID namespace
of the container. In its absence, the termination of the container would not result in the termination of the
The poststop functionality is especially valuable in cases where the container does not have a private PID namespace.
In the absence of poststop actions, the termination of the container would not result in the termination of the
Dropbear daemon, leading to the persistence of the daemon even after the container has been stopped.
This persistence can cause issues like port conflicts, as the daemon may still be listening on a port that
is required by a new container attempting to start.
Expand Down
5 changes: 3 additions & 2 deletions spack/packages/sarus/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,13 @@ class Sarus(CMakePackage):
"""Sarus is an OCI-compliant container engine for HPC systems."""

homepage = "https://github.com/eth-cscs/sarus"
url = "https://github.com/eth-cscs/sarus/archive/1.6.4.tar.gz"
url = "https://github.com/eth-cscs/sarus/archive/1.7.0.tar.gz"
git = "https://github.com/eth-cscs/sarus.git"

version('develop', branch='develop', submodules=True)
version('master', branch='master', submodules=True)
version("1.6.4", tag="1.6.4", submodules=True)
version("1.7.0", tag="1.7.0", submodules=True)
version("1.6.4", commit="bb4aadb02aaeb8b6442ab81ee8b39d3088f8c912")
version("1.6.3", commit="169ea2149a26a21fe73683be0eb0a31fb3806671")
version("1.6.2", commit="4af913f4d65679f78e5bb7f2c006d8cff8d24b1d")
version("1.6.1", commit="089b3284473f82a08d3541d133f7cd65df92a6e4")
Expand Down

0 comments on commit 80251b7

Please sign in to comment.