diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e0ad3167..b30e0e1e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -135,10 +135,10 @@ rocky9: - sarus-build-images - sarus-build-from-scratch-and-test -fedora36: +fedora38: extends: .from_source script: - - . ./CI/utility_docker_functions.bash Release gcc.cmake $(pwd) $HOST_CACHES_PATH fedora:36 fedora:36 + - . ./CI/utility_docker_functions.bash Release gcc.cmake $(pwd) $HOST_CACHES_PATH fedora:38 fedora:38 - sarus-build-images - sarus-build-from-scratch-and-test diff --git a/CHANGELOG.md b/CHANGELOG.md index c09c9ab0..cd5ef69f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - MPI Hook: dependency libraries and symlinks added by the hook in the container are now mounted or created in a dedicated directory. Previously, the hook made mounts and created multiple duplicate links in several system directories. More details [here] (https://sarus.readthedocs.io/en/stable/config/mpi-hook.html#hook-configuration) - Updated recommended runc version to 1.1.9 +- Updated CI tests from source on Fedora (36 -> 38) ### Fixed diff --git a/CI/Dockerfile.fedora:36 b/CI/Dockerfile.fedora:38 similarity index 88% rename from CI/Dockerfile.fedora:36 rename to CI/Dockerfile.fedora:38 index 2d0a4537..a8123a53 100644 --- a/CI/Dockerfile.fedora:36 +++ b/CI/Dockerfile.fedora:38 @@ -11,11 +11,11 @@ # Docker Image used to build Sarus from its source, # but with cached dependencies already in this image. # -FROM fedora:36 +FROM fedora:38 COPY ./installation/ /tmp/ -RUN /tmp/install_sudo.sh fedora:36 -RUN /tmp/install_packages_fedora:36.sh +RUN /tmp/install_sudo.sh fedora:38 +RUN /tmp/install_packages_fedora:38.sh RUN bash -i -c "/tmp/install_dep_runc.bash" RUN bash -i -c "/tmp/install_dep_umoci.bash" RUN pip3 install -r /tmp/requirements_tests.txt diff --git a/CI/installation/install_packages_fedora:36.sh b/CI/installation/install_packages_fedora:38.sh similarity index 91% rename from CI/installation/install_packages_fedora:36.sh rename to CI/installation/install_packages_fedora:38.sh index c95c7bf0..fa5d9cba 100755 --- a/CI/installation/install_packages_fedora:36.sh +++ b/CI/installation/install_packages_fedora:38.sh @@ -5,7 +5,7 @@ set -ex # Install packages sudo dnf install -y gcc g++ glibc-static libstdc++-static git make cmake autoconf \ diffutils findutils wget which procps squashfs-tools zlib-devel zlib-static \ - boost-devel skopeo tini-static \ + boost-devel skopeo runc tini-static \ python3 python3-pip python3-setuptools sudo dnf clean all sudo rm -rf /var/cache/dnf diff --git a/CI/src/common/util.py b/CI/src/common/util.py index a77cc087..6062a79e 100644 --- a/CI/src/common/util.py +++ b/CI/src/common/util.py @@ -15,6 +15,7 @@ ALPINE_IMAGE = "quay.io/ethcscs/alpine:3.14" UBUNTU_IMAGE = "quay.io/ethcscs/ubuntu:20.04" +FEDORA_IMAGE = "quay.io/ethcscs/fedora:38" sarus_json_filename = os.environ["CMAKE_INSTALL_PREFIX"] + "/etc/sarus.json" sarus_json_backup = sarus_json_filename+".bak" diff --git a/CI/src/integration_tests/dockerfiles/mpi_hook/nonexisting_ldcache_entry/Dockerfile b/CI/src/integration_tests/dockerfiles/mpi_hook/nonexisting_ldcache_entry/Dockerfile index 92b5cf40..e9f2a800 100644 --- a/CI/src/integration_tests/dockerfiles/mpi_hook/nonexisting_ldcache_entry/Dockerfile +++ b/CI/src/integration_tests/dockerfiles/mpi_hook/nonexisting_ldcache_entry/Dockerfile @@ -1,4 +1,4 @@ -FROM fedora:36 +FROM fedora:38 COPY libdummy.so /usr/lib/libdummy.so diff --git a/CI/src/integration_tests/test_glibc_hook.py b/CI/src/integration_tests/test_glibc_hook.py index 2470f0f7..58ff4504 100755 --- a/CI/src/integration_tests/test_glibc_hook.py +++ b/CI/src/integration_tests/test_glibc_hook.py @@ -113,9 +113,9 @@ def tearDownClass(cls): def _pull_docker_images(cls): util.pull_image_if_necessary(is_centralized_repository=False, image=util.ALPINE_IMAGE) # no glibc util.pull_image_if_necessary(is_centralized_repository=False, image="quay.io/ethcscs/centos:6") # glibc 2.12 - util.pull_image_if_necessary(is_centralized_repository=False, image="quay.io/ethcscs/fedora:36") # assumption: glibc >= host's glibc + util.pull_image_if_necessary(is_centralized_repository=False, image="quay.io/ethcscs/fedora:38") # assumption: glibc >= host's glibc # based on fedora - assumption: glibc >= host's glibc - util.pull_image_if_necessary(is_centralized_repository=False, image="quay.io/ethcscs/sarus-integration-tests:nonexisting_ldcache_entry_f36") + util.pull_image_if_necessary(is_centralized_repository=False, image="quay.io/ethcscs/sarus-integration-tests:nonexisting_ldcache_entry_f38") @classmethod def _enable_hook(cls): @@ -155,13 +155,13 @@ def test_container_without_glibc(self): def test_no_injection_in_container_with_recent_glibc(self): self._glibc_command_line_option = True - self._container_image = "quay.io/ethcscs/fedora:36" + self._container_image = "quay.io/ethcscs/fedora:38" hashes = self._get_hashes_of_host_libs_in_container() assert not hashes def test_no_injection_in_container_with_recent_glibc_and_nonexisting_ldcache_entry(self): self._glibc_command_line_option = True - self._container_image = "quay.io/ethcscs/sarus-integration-tests:nonexisting_ldcache_entry_f36" + self._container_image = "quay.io/ethcscs/sarus-integration-tests:nonexisting_ldcache_entry_f38" hashes = self._get_hashes_of_host_libs_in_container() assert not hashes diff --git a/CI/src/integration_tests/test_seccomp.py b/CI/src/integration_tests/test_seccomp.py index c183fd80..20ffb7bb 100644 --- a/CI/src/integration_tests/test_seccomp.py +++ b/CI/src/integration_tests/test_seccomp.py @@ -32,7 +32,7 @@ def tearDownClass(cls): def _pull_docker_images(cls): images = [util.ALPINE_IMAGE, util.UBUNTU_IMAGE, - "quay.io/ethcscs/fedora:34"] + util.FEDORA_IMAGE] for image in images: util.pull_image_if_necessary(is_centralized_repository=False, image=image) @@ -70,7 +70,7 @@ def test_deny_chdir(self): container_args, "/tmp: Operation not permitted") self._assert_sarus_raises_error_containing_text(sarus_options, - "quay.io/ethcscs/fedora:34", + util.FEDORA_IMAGE, container_args, "/tmp: Operation not permitted") container_args = ["sh", "-c", "cd /tmp"] diff --git a/doc/install/requirements.rst b/doc/install/requirements.rst index 6f50603c..b11b0b7d 100644 --- a/doc/install/requirements.rst +++ b/doc/install/requirements.rst @@ -66,9 +66,9 @@ instructions for such dependencies. :start-after: set -ex :end-before: # DOCS: END - .. group-tab:: Fedora 36 + .. group-tab:: Fedora 38 - .. literalinclude:: ../../CI/installation/install_packages_fedora:36.sh + .. literalinclude:: ../../CI/installation/install_packages_fedora:38.sh :language: bash :start-after: set -ex :end-before: # DOCS: END diff --git a/src/hooks/ssh/SshHook.hpp b/src/hooks/ssh/SshHook.hpp index e1e3ba55..b52c6c21 100644 --- a/src/hooks/ssh/SshHook.hpp +++ b/src/hooks/ssh/SshHook.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include