Comments (8)
I'm feeling pretty 👎 on this feature. Even if a new package is created from software all of which was git cached it seems we should still perform health check.
Is health checking really that big of an issue?
from omnibus.
I'm confused by your comment @schisamo.
Currently the health check is inefficient because it checks more files than it needs to and because it rechecks files that we know haven't changed (cached builds).
When using local vms to build, the healthcheck step takes enough time to be worth improving. And just in general it seems reasonable to find ways to do a computation once rather than many times.
The proposal, to be clear, is not to optionally disable the healthcheck.
The proposal is to perform a health check after each build. At that point, we know all of the files that the build touched. We health check them. If we use the cache for a build, we can skip the health check. Might also have the advantage of failing builds for bad health early.
from omnibus.
@schisamo @seth is correct (holy crap this is going to get confusing) 😄. @seth I'm going to steal your comment and add it to the PR description for clarity.
from omnibus.
@seth Thanks for the clarification. I can get onboard with this feature as described. I think the title of this issue was just confusing as it implies we are caching the results of the health check.
from omnibus.
:)
We would be caching the result of the health check, but not in a bogus way :)
from omnibus.
We discussed this as a team today and decided this is not a top-priority. If health checks are taking a long time, we should fix the health check, not cache the results.
from omnibus.
Can you give more detail? If the result was: let's close this because we're not fixing it anytime soon, I'm fine with that. If the decision was, we don't want a fix that caches the health check, then I'm curious for more detail.
from omnibus.
Sure. It's two parts:
- As you mentioned, this isn't likely something we want to implement soon.
- As we learned with the git caching, cache invalidation is hard.
from omnibus.
Related Issues (20)
- Apple M1 Support HOT 1
- Mixlib::ShellOut::InvalidCommandOption: option ':lockdir' is not a valid option for Mixlib::ShellOut HOT 2
- Current Chef RPM packages conflict with chef-workstation HOT 2
- HealthCheck is busted on FreeBSD, Solaris and AIX HOT 2
- Omnibus needs an integration environment with Solaris/FreeBSD/AIX/Windows that checks the healthcheck HOT 1
- Old code exceptions in HealthCheck should likely be deleted HOT 1
- Update Packager spec to avoid failures after March 2022
- macOS healthcheck checks dylib install ID as if it was a dependency HOT 1
- omnibus build certificate verify failed (certificate has expired)
- omnibus does not support rockylinux HOT 1
- Source code of chef-cleanroom gem not available
- Timestamp servers listed in \packagers are no longer available?
- Allow to add recommended dependencies
- Releases are not publishing to rubygems.org HOT 1
- Portable health checks
- `append_timestamp` doesn't really exist HOT 1
- omnibus always tries to mkdir /opt/$PROJECT
- kitchen docs are... not correct
- Fully deprecate the usage of chef-sugar HOT 1
- Concurrency issues if two software definitions have the same source directory HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omnibus.