containers / qm

QM is a containerized environment for running Functional Safety qm (Quality Management) software
https://github.com/containers/qm
GNU General Public License v2.0
22 stars 25 forks source link

An error occurred while copying the ffi-tools image to /var/qm/lib/containers #506

Closed pengshanyu closed 2 months ago

pengshanyu commented 2 months ago

The error message is as follows:

test: Test QM not allow SCHED_DEADLINE be set via sched_setattr() syscall
                cmd: /bin/bash ./test.sh
                out: Trying to pull quay.io/centos-sig-automotive/ffi-tools:latest...
                out: Getting image source signatures
                out: Copying blob sha256:7110678dd356150542b86ef6f57b9495f3cf35d9b3ad171d7ea9e18bce71ed1f
                out: Copying blob sha256:e8b54c863393b7a8216a71737771b73b16a8e43ec7acf927c7faa175c255e551
                out: Copying config sha256:28b4ec420a39ed5f286c29e399a3e83de03816248d35e8e338ab5a7c501443c2
                out: Writing manifest to image destination
                out: 28b4ec420a39ed5f286c29e399a3e83de03816248d35e8e338ab5a7c501443c2
                out: Getting image source signatures
                out: Copying blob sha256:35ac5b7af462cb4f2971c43a2c0719339354d1dabed3c3470d0c71ca6cec1789
                out: Copying blob sha256:fa9a39020e334c1df2b18f1d420d6d23f775b328d7e90eed3d70ddffaadb8d8a
                out: Copying config sha256:28b4ec420a39ed5f286c29e399a3e83de03816248d35e8e338ab5a7c501443c2
                out: Writing manifest to image destination
                out: Untagged: quay.io/centos-sig-automotive/ffi-tools:latest
                out: Deleted: 28b4ec420a39ed5f286c29e399a3e83de03816248d35e8e338ab5a7c501443c2
                out: Getting image source signatures
                out: Error: writing blob: storing blob to file "/var/tmp/container_images_storage1679536461/2": write /var/tmp/container_images_storage1679536461/2: no space left on device
                out: [ FAILED ] Error: Command podman exec -it qm /bin/bash -c       "podman run -d --net host  --replace --name ffi-qm       dir:/var/lib/containers/registry/tools-ffi:latest       tail -f /dev/null" failed with exit code: 125
                out: Terminated
                out: Shared connection to localhost closed.
                00:05:34 errr /external/tests/ffi/deny_sched_setattr (on default-0) [10/20]
test: modprobe - test interference from the QM partition to host
                cmd: /bin/bash ./test.sh
                out: Trying to pull quay.io/centos-sig-automotive/ffi-tools:latest...
                out: Getting image source signatures
                out: Copying blob sha256:7110678dd356150542b86ef6f57b9495f3cf35d9b3ad171d7ea9e18bce71ed1f
                out: Copying blob sha256:e8b54c863393b7a8216a71737771b73b16a8e43ec7acf927c7faa175c255e551
                out: Copying config sha256:28b4ec420a39ed5f286c29e399a3e83de03816248d35e8e338ab5a7c501443c2
                out: Writing manifest to image destination
                out: 28b4ec420a39ed5f286c29e399a3e83de03816248d35e8e338ab5a7c501443c2
                out: Getting image source signatures
                out: Error: reading blob sha256:35ac5b7af462cb4f2971c43a2c0719339354d1dabed3c3470d0c71ca6cec1789: open /var/lib/containers/registry/tools-ffi:latest/35ac5b7af462cb4f2971c43a2c0719339354d1dabed3c3470d0c71ca6cec1789: no such file or directory
                out: [ FAILED ] Error: Command podman exec -it qm /bin/bash -c       "podman run -d --net host  --replace --name ffi-qm       dir:/var/lib/containers/registry/tools-ffi:latest       tail -f /dev/null" failed with exit code: 125
                out: Terminated
                out: Shared connection to localhost closed.
                00:00:10 errr /tests/ffi/modules (on default-0) [15/21]
pengshanyu commented 2 months ago

It seems that we need to improve the following code: https://github.com/containers/qm/blob/main/tests/ffi/common/prepare.sh#L43

When the first test case is executed, the ffi-tools image is downloaded and copied to /var/qm/lib/containers/registry. When the second test case is executed, ffi-tools image is downloaded again, but since /var/qm/lib/containers/registry already exists, so the image will not be copied to it.