Skip to content
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

[COOK-3155] Be able to install chef-client from omnibus packages #102

Closed
wants to merge 1 commit into from

Conversation

Projects
None yet
4 participants
Be able to install chef-client from omnibus packages
Many copy-pasta from chef-server cookbook
@jtimberman

This comment has been minimized.

Copy link
Member

commented Jul 9, 2013

I concur with @chrisroberts that this cookbook's functionality is separate from the omnibus_updater cookbook. Also, not everyone uses omnibus installs :).

I think the chef-client cookbook should remain more "narrow" in scope, and handle the post installation configuration of the Chef Client itself (/etc/chef/client.rb, running as a service or scheduled task, etc). That is, it shouldn't perform installation of Chef, that should be out of band from the context of the Chef run since the timing/sequence of that is awkward (how can I run Chef if I haven't installed it?).

@sethvargo sethvargo closed this Oct 10, 2013

@pburkholder

This comment has been minimized.

Copy link
Contributor

commented Jan 29, 2015

More on this, to quote someone knowledgeable on the history here, regarding why chef-client doesn't support updates:

First, the chef-client cookbook concerns itself with the configuration of the chef-client program. When building cookbooks it is generally advised to keep their focus narrowed to a specific component. This means that for chef-client we're mainly concerned with the configuration (/etc/chef/client.rb), and running it regularly, be that as a service or a cron job.

Second, the cookbook predated the creation of omnibus, and at one point attempted to handle upgrading the chef gem. [snip]. When omnibus came along, the upgrade process became more complex. We now have an API service that concerns itself with determining the right package file to retrieve for installation, but we (CHEF) never really wrote a client to handle that because we had the install.sh script do it.

Heavy Water created the omnibus-updater cookbook to cover this gap. It works very well. At this point in time there is probably enough adoption of that cookbook that converting people to use something else is like turning a barge in a river.

Migrating the functionality of the omnibus-updater cookbook to the chef-client cookbook would make the latter's codebase more complicated (it's already reasonably complex) and potentially difficult for users and contributors to follow. It would require more effort in testing and we simply don't have the bandwidth for that. Heavy Water is doing a good job of maintaining that cookbook and I'm inclined to keep it that way, rather than try to absorb that into our cookbook

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.