anchore / syft

CLI tool and library for generating a Software Bill of Materials from container images and filesystems
Apache License 2.0
6.23k stars 575 forks source link

no space left and Could not retrieve mirrorlist in test #3181

Closed witchcraze closed 2 months ago

witchcraze commented 2 months ago

What happened:

Validations in anchore/syft was passed https://github.com/anchore/syft/actions/runs/10653709062 Validations in forked repository - witchcraze/syft was failed https://github.com/witchcraze/syft/actions/runs/10653505721

Maybe anchore/syft uses cache??

What you expected to happen:

Same results in both of Validations

Steps to reproduce the issue:

Delete cached, and run Validations at forked repository.

Anything else we need to know?:

no space left on device in Unit Test

Error response from daemon: write /var/lib/docker/tmp/docker-export-1854390098/blobs/sha256/c4bc4a1387e82c199a05c950a61d31aba8e1481a94c63196b82e25ac8367e5d1: no space left on device
--- FAIL: Test_DBCataloger (17.84s)
    image_fixtures.go:241: Build docker image: name="stereoscope-fixture-image-minimal" tag="f3f6a85ded073b94e1903b04b544746767ad151046f69e8598c0acef5846ae06"
    image_fixtures.go:291: saveImage running: docker image save stereoscope-fixture-image-minimal:f3f6a85ded073b94e1903b04b544746767ad151046f69e8598c0acef5846ae06
    image_fixtures.go:190: could not save fixture image: exit status 1
--- FAIL: TestParseRpmFiles (0.00s)
    --- FAIL: TestParseRpmFiles/test-fixtures/rpms (0.00s)
        parse_rpm_archive_test.go:93: Specific Differences:
            {[]pkg.Package}:
                -: [Pkg(name="abc" version="0:1.01-9.hg20160905.el7" type="rpm" id="") Pkg(name="zork" version="0:1.0.3-1.el7" type="rpm" id="")]
                +: []

        parse_rpm_archive_test.go:93: unexpected packages from parsing (-expected +actual)
              []pkg.Package(
            -   {
            -       s`Pkg(name="abc" version="0:1.01-9.hg20160905.el7" type="rpm" id="")`,
            -       s`Pkg(name="zork" version="0:1.0.3-1.el7" type="rpm" id="")`,
            -   },
            +   nil,
              )
FAIL

Could not retrieve mirrorlist in Integration test

#6 0.436 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
#6 0.436 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

Could not retrieve mirrorlist in Cli test (Linux)

#6 0.404 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
#6 0.404 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
wagoodman commented 2 months ago

I think what's happening is that the CI in our repo has been collecting cache for a long while, which means on tests we don't need to pull any docker images. However, in other forks where there is no cache not only is a docker pull being done but also a docker image save (the basis of the cache). That means forks are using 2x more space than anchore/syft in CI... so we've probably just begun to run up against limits.

I'll look into this today and see what I can do 👍

wagoodman commented 2 months ago

Also, this is what I'm doing to identify the cache and disk space used today:

$ find . | grep cache | grep tar | xargs du -ch

 16K    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-sbom-metadata-component-8fd41042784d0d58f34a8b951b00847d471c7f4abd9f4e11e6ee668a92e6da71.tar
  0B    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-java-virtualpath-regression-403640234a6db23e3edc22153cb6ec392ae921bece553de1393238d235e6736a.tar
  0B    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-test-java-purls-a3aba7fe8ca58ea9586ae8752d939cc72a8a2d6fc965b8eed99ace498c867f94.tar
  0B    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-sqlite-rpmdb-6fc8883e06451f15fc5d95d68855853d1e5a08234389977b2841b91ce26a24f4.tar
  0B    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-photon-all-layers-269ee0bc42e6fce89119393d31b4bb32d22efaf21bb91cec3d012ffef552295a.tar
 19M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-pkg-coverage-15beece6248f7b4b3db06c2691d0558d1fd76e72590afb3479a64ac40547c5c9.tar
9.4M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-os-binary-overlap-015777d781a73df6a3881163f87e292f40576662ed19e0369d3a8eb0ae2c0ab1.tar
233M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-large-apk-data-f05f8d9a0458190967d606a8c554d00630af9ea158aa1a1cbbcbbf25e03c2c0c.tar
 28M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-mariner-distroless-7b407103df373d6b59c9bf5f07b276b5f446c9e4c1aad5a51b2eb925c4acd899.tar
1.5M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-distro-id-ef5f25b7a60637dcdcacec6a3e69a80edee019ac9c34866cbf2ab1f1ed308bb3.tar
3.7M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-rust-auditable-c38569700498cfca9cceab99b5f11fa1a588271a99f3c79ed36fe8f2c586c228.tar
 20K    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-sbom-cataloger-a4aa0752985a578a8b34fe3a2e09aca3100c38a96ebb5cee6eeb4eddbc4ff8ed.tar
5.9M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-go-bin-arch-coverage-7d28dcd4527432d8cb41a1239fd7b2dce212a4445711706d72247dcb0cb3cc74.tar
336M    ./cmd/syft/internal/test/integration/test-fixtures/cache/stereoscope-fixture-image-golang-compiler-b855ba45f2a2de7d0b38fa66a62341448fdee022775ae0f05496fb90ac8ac510.tar
 66M    ./test/install/cache/alpine-env.tar
4.1M    ./test/install/cache/busybox-env.tar
1.6M    ./syft/file/cataloger/filemetadata/test-fixtures/cache/stereoscope-fixture-image-file-type-mix-e634da40d0d75da0a1327770cd90b16bf02ce1063bbdb0920523b96581bd0e2b.tar
1.6M    ./syft/file/cataloger/internal/test-fixtures/cache/stereoscope-fixture-image-file-type-mix-e634da40d0d75da0a1327770cd90b16bf02ce1063bbdb0920523b96581bd0e2b.tar
1.6M    ./syft/file/cataloger/filedigest/test-fixtures/cache/stereoscope-fixture-image-file-type-mix-e634da40d0d75da0a1327770cd90b16bf02ce1063bbdb0920523b96581bd0e2b.tar
 24K    ./syft/source/test-fixtures/cache/stereoscope-fixture-image-simple-04e16e44161c8888a1a963720fd0443cbf7eef8101434c431de8725cd98cc9f7.tar
1.6M    ./syft/internal/fileresolver/test-fixtures/cache/stereoscope-fixture-image-symlinks-1c3c314784bb8a107e4dec9e37be146b458fefe8f15e57511bc398a8fffebe4e.tar
 20K    ./syft/internal/fileresolver/test-fixtures/cache/stereoscope-fixture-image-duplicate-path-7e31bdad84ffe928c47e24cfb3d0641aa56fd67809f71193fe14a847e97fec9e.tar
 24K    ./syft/internal/fileresolver/test-fixtures/cache/stereoscope-fixture-image-simple-04e16e44161c8888a1a963720fd0443cbf7eef8101434c431de8725cd98cc9f7.tar
6.0M    ./syft/internal/fileresolver/test-fixtures/cache/stereoscope-fixture-image-files-deleted-cafbcd15d157e33f46f6523e7c80ed6da71b03bfa6722e8442064d611b3a9e3a.tar
 20K    ./syft/format/internal/testutil/test-fixtures/cache/stereoscope-fixture-image-simple-85066c51088bdd274f7a89e99e00490f666c49e72ffc955707cd6e18f0e22c5b.tar
7.3M    ./syft/format/syftjson/test-fixtures/cache/stereoscope-fixture-image-alpine-5bbdfebb94b6923efd76f9dc9063011c5e90c719e599a09299b1c7aa78315dca.tar
 24K    ./syft/pkg/cataloger/debian/test-fixtures/cache/stereoscope-fixture-image-dpkg-5d87fb83193e020ef47572ce96186ead9be6e9a698871dd81d2e108c10a6329f.tar
 24K    ./syft/pkg/cataloger/debian/test-fixtures/cache/stereoscope-fixture-image-distroless-deb-b4154260fc37ca0d1e6b57f1c59a2e5019fe6ea79eba5d99ae32d3d3ddcc99a4.tar
560M    ./syft/pkg/cataloger/python/test-fixtures/cache/stereoscope-fixture-image-multi-site-package-fa8e416407542939f6a73562f19526d99a27f21d3daa5ac5c723063173cd9a1e.tar
5.2M    ./syft/pkg/cataloger/golang/test-fixtures/cache/stereoscope-fixture-image-small-6435a8518ecff812e5df1e183c231bc4a44795dd7e114b6098efa4746d70d3b9.tar
5.2M    ./syft/pkg/cataloger/golang/test-fixtures/cache/stereoscope-fixture-image-not-a-module-2c7a60fde549021a93bca9d3fe336450d7f13a15c057f8fbf6d2301ab5af581e.tar
3.7M    ./syft/pkg/cataloger/rust/test-fixtures/cache/stereoscope-fixture-image-audit-aa03f2446b715a3ccd04e4c9f470fe8b739138b21655595af19885c985d52f41.tar
4.1M    ./syft/pkg/cataloger/binary/test-fixtures/cache/stereoscope-fixture-image-busybox-8b99240387a1d960aab6206fa829ca7bd735d3da85024be351935b98be9430c7.tar
104K    ./syft/pkg/cataloger/binary/test-fixtures/cache/stereoscope-fixture-image-fedora-64bit-12afa801adb43ed77340a8ed051770f6dcb6bd60471fcb7c0c4fd72e0cc75c7f.tar
 80K    ./syft/pkg/cataloger/binary/test-fixtures/cache/stereoscope-fixture-image-fedora-32bit-b8b754d9586ce848107398d1c29783b67b50d09dc2cff5bd50cf3fceb59d0ca2.tar
192M    ./syft/pkg/cataloger/redhat/test-fixtures/cache/stereoscope-fixture-image-minimal-f3f6a85ded073b94e1903b04b544746767ad151046f69e8598c0acef5846ae06.tar
1.5G    total