-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cache directory should be structured #293
Comments
Pinging @afiune |
🤔 I might not be remembering correctly, but it should verify the SHA of the package. If not, then totally a bug. I will try to look into this tomorrow morning. |
The logging says it's checking the SHA but it's definitely broken or lying. |
Edited the title for this one to track re-working the cache to be structured a la:
We also need to ensure we are checking checksums as that isn't happening (though it appears to from the output) |
I think it is not possible to control the directory structure from within the driver since itself (the driver) just controls the state of the "kitchen" (so to speak). That means we do not know anything about the internals of the VM, the only things you can access are stored in the
I think we should continue sharing the base cache directory: IMHO this is getting a bit heary 😅 because we are kinda making a hard dependency between the driver(sharing mechanism) and the core of test-kitchen. But I have no other idea, so I am open to suggestions. Thoughts? @cheeseplus @schisamo @tas50 @tduffield |
I've been thinking on this one and am struggling to come up with better options. Right now this only bites us in edge cases but also is super unexpected in the case of Debian 7. |
Due to ubuntu and debian packaging beind different but having same name See test-kitchen/kitchen-vagrant#293
Linking this related mixlib-install issue as if the checksums were being checked then we'd blow up earlier at least chef/mixlib-install#238 |
I've run into this issue (and not for the first time, over the years). I'd like to add support for the per-platform-version caching suggested by @cheeseplus in #293 (comment) since this would resolve the problem for me too. I also noticed the checksum stuff isn't working, and I tried investigating why, but I couldn't figure it out after a few hours of trying. However, fixing the checksums without fixing the cache layout would actually cause more issues. The workaround for the lack of per-platform-version caching is to run test-kitchen against the oldest OS you want to support (e.g. ubuntu-20.04), and then you will have successfully prepared your cache with a package that is reasonably likely to also work on newer versions too (e.g. ubuntu-22.04). But if the checksum issue is fixed first, you would repeatedly overwrite the package in your cache, and will forever be re-downloading the different per-platform-version packages every time you test with a different OS! |
The caching feature pulls down installers to
~/.kitchen/cache/
and if they are named the same, aschef_12.19.36-1_amd64.deb
for all Debian/Ubuntu builds, there doesn't appear to be any validation that it's the correct build for the platform.ubuntu-16.04
suite~/.kitchen/cache
debian-7
suiteThe text was updated successfully, but these errors were encountered: