Git Product home page Git Product logo

Comments (4)

oztigertim avatar oztigertim commented on July 18, 2024

On the work computer I was using two different VirtualBox xubuntu images. I noticed at the end of the error it mentioned "i/o timeout". I thought perhaps VirtualBox on Win10 may be causing an issue so I've tried at home on my Xubuntu 16.04 laptop and its working but its really really slow.
Also it displays a lot of ERRO but the file exist test still passes.
$ sudo ./container-structure-test -driver tar -image python python_file_test.yaml
Using driver tar
2018/02/28 16:48:11 Running tests for file python_file_test.yaml
Retrieving image python from source Cloud Registry
ERRO[0048] remove /tmp/python156232896/etc/dpkg/.wh.shlibs.default: no such file or directory
ERRO[0048] remove /tmp/python156232896/etc/dpkg/.wh.shlibs.override: no such file or directory

from container-structure-test.

nkubala avatar nkubala commented on July 18, 2024

Hey @oztigertim, thanks for filing. Glad to hear you got something working, but sorry to hear it's so slow.

I think I'm a bit confused on the image you're trying to run tests on; you're passing -image python, so is that supposed to be an image you built locally? Otherwise it should basically try and do docker pull python, which would normally work. I can't tell for sure but it looks like you have a private remote registry set up, based on the URL in the error you posted.

The errors you're seeing definitely shouldn't be there, so I'm looking into that. Looks like an issue with whiteout layers.

from container-structure-test.

oztigertim avatar oztigertim commented on July 18, 2024

Hey @nkubala yes I'm expecting it to just do a docker pull. If I use the docker driver instead of the tar driver it works fine. I'm not using a private registry.
On my home Xubuntu laptop the end of the output looks like this:
ERRO[0152] remove /tmp/python638756840/var/lib/dpkg/info/.wh.libtimedate-perl.md5sums: no such file or directory
INFO[0162] Finished prepping image python
--- FAIL: TestAll (162.11s)
--- PASS: TestAll/File_Existence_Test:_Root (55.16s)
--- FAIL: TestAll/File_Existence_Test:_python (53.54s)
structure.go:94: File /usr/local/bin/python should exist but does not, got error: stat /tmp/python905351533/usr/local/bin/python: no such file or directory!
--- PASS: TestAll/Metadata_Test (53.40s)
structure_test.go:49: Total tests run: 2
FAIL

If I was completing this test with dgoss I'd expect it to take less than a second.
Perhaps there could be an option to use a local container rather than trying to pull it for the tar driver?

from container-structure-test.

nkubala avatar nkubala commented on July 18, 2024

@oztigertim this should be fixed now. There were a few issues, mostly fixed in container-diff but also one here.

One thing I want to note is that when using the tar driver, the framework will unpack the tarball representing the image filesystem on your machine before running any tests; this will always take longer than running the container in your local Docker daemon. If you have the image in a local daemon, you probably want to be using the docker driver instead of the tar driver.

While dgoss can be faster in some cases, it relies on being able to run Docker locally, which we consider a limitation since it won't run in environments where a Docker daemon isn't present. dgoss also starts a container and examines the running process to validate structure of the container; this is more of an "integration" style test, since running a container can completely alter the original structure of the image. container-structure-test only validates the unmodified container created from the base image.

from container-structure-test.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.