Comments (5)
It seems fairly reasonable to switch to just requiring build-essential instead of installing the packages through the package resource. I had originally done that simply to avoid relying on other cookbooks as much as possible. Since I now have a depends on the ulimit cookbook, I see no issue depending on build-essential.
The tar cookbook could be used to extract the tar as well, I'm just not sure it's even worth touching that portion of code as it works without any real issue. Is there that much to gain from changing it to the tar cookbook? Does depending on yet another cookbook really worth the improvement from shelling out to tar? Better yet, what advantages will using the tar cookbook provide over the way its currently done, other than being more "chef like"
from redisio.
I don't see any clear advantages other than stopping the compilation warnings. The warnings feel like a smell, but adding external dependencies feels smellier. Is the "chef way" just to ignore the compilation warnings?
from redisio.
Well it looks to me (unless I'm missing something else) that the cloned resource is coming from the fact that somewhere in your run list the build-essential cookbook is being pulled in. It is creating a package resource for the make package. Then redisio runs and it too tries to create a package resource called make. This results in the cloned resource warning. By switching to just calling build-essential, the cookbook will already be in the run list and not added a second time. This will Remove the cloned resource warning.
The tar package cookbook is the one I was driving at to try and determine what value it would add. It would be more "chefy" to probably use that cookbook and use the tar resource. Other than that though I don't see the clear advantage of using it beyond just untaring by shelling out as the cookbook currently does.
As for the way to deal with the cloned resource warning, It's not clear to me the best way to deal with it, as it never even used to shoot a warning. Here is the associated Chef jira ticket that makes for an interesting read.
from redisio.
You're correct -- many cookbooks depend on build-essential, so we see
those warnings from the collision.
That thread is very helpful -- thanks. It seems as though there isn't
consensus yet. There is a recommendation to wrap a resource in a
begin/rescue. That doesn't seem right either though because it doesn't
protect from bad behavior in the previous recipe -- ex., what if someone
set the file attribute to 'foo' on the 'package[make]' resource?
On 07/25/2013 04:15 PM, Brian Bianco wrote:
Well it looks to me (unless I'm missing something else) that the
cloned resource is coming from the fact that somewhere in your run
list the build-essential cookbook is being pulled in. It is creating a
package resource for the make package. Then redisio runs and it too
tries to create a package resource called make. This results in the
cloned resource warning. By switching to just calling build-essential,
the cookbook will already be in the run list and not added a second
time. This will Remove the cloned resource warning.The tar package cookbook is the one I was driving at to try and
determine what value it would add. It would be more "chefy" to
probably use that cookbook and use the tar resource. Other than that
though I don't see the clear advantage of using it beyond just
untaring by shelling out as the cookbook currently does.As for the way to deal with the cloned resource warning, It's not
clear to me the best way to deal with it, as it never even used to
shoot a warning. Here is the associated Chef jira ticket that makes
for an interesting read.—
Reply to this email directly or view it on GitHub
#74 (comment).
from redisio.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from redisio.
Related Issues (20)
- Add protected-mode in sentinel.conf HOT 2
- issue with changing config because attributes saved as node.normal HOT 2
- undefined method `selinux_policy_install' HOT 2
- Dangerfile should use failure instead of fail HOT 1
- Remove .rubocop.yml with Dangerfile HOT 1
- Update Changelog HOT 2
- Run latest cookstyle HOT 2
- Update builds to be parallel HOT 2
- redis.conf.erb version checks incorrectly on some sections
- Chef 16+ user_ulimit warning message HOT 1
- Fix all checks so they pass
- rename_commands not populating rename-command
- SELinux: Redis server running unconfined when installed from sources HOT 1
- After OS restart, redis listens only on loopback HOT 1
- Redis service should be restarted when installing a new version
- Missing required sentinel parameter master_ip
- WARNING: Sentinel was not able to save the new configuration on disk!!!: Permission denied HOT 2
- Dependency Dashboard
- Migrate integration tests from ServerSpec to InSpec
- redis config file should be updated as needed (desired state) HOT 1
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 redisio.