[chef] Omnibus Client installer open beta


Chronological Thread 
  • From: Bryan McLellan < >
  • To:
  • Subject: [chef] Omnibus Client installer open beta
  • Date: Fri, 16 Dec 2011 17:22:36 -0500

We've been building and testing a Chef feature for a while now that we
call Omnibus.

Sometimes getting a good version of Ruby and the right libraries on a
system can be daunting and makes a difficult Chef install for
newcomers. Today I'd like to release the Omnibus Client for open beta.
This includes the latest version of the chef-client and everything you
need to run it.

Head over to http://www.opscode.com/chef/install where we have pull
down menus for the operating systems we've tested it on, and the
simple instructions for installing it.

You'll find everything installed in /opt/opscode. If you're on a
Redhat or Debian based Linux distribution that we detect, we wrap the
install in a deb or rpm so you can manage it with your package
management tools as well. Binaries are symlinked into /usr/bin for
convenience. You should remove any other versions of Chef you have
installed first, but you can leave any keys or configuration files
behind in /etc/chef and the Omnibus Client will pick them up.

There's a little script included to help set up your configuration on
fresh hosts:

--- Opscode Hosted Chef
# Save a copy of your validation key in a file like 'validation.pem'
sudo /opt/opscode/setup.sh -v validation.pem -o ORGANIZATION

--- Open Source Chef Server
# Save a copy of your validation key in a file like 'validation.pem'
sudo /opt/opscode/setup.sh -v validation.pem -u http://chef.example.org

In both cases you'll need to change the organization name or the URL.

One big caveat is that because we put everything Chef needs in
/opt/opscode/embedded, so the instance of Ruby that Chef uses will be
different than the instance installed on your system, particularly if
you don't have a system ruby. Consequently, when you use the
"gem_package" resource inside a Chef recipe, this package will be
installed in the version of Rubygems that comes with Chef. This may
not be what you expect, but we can't reliably guess where you Rubygems
installation is and if you have more than one, which you want us to
use. So we default to our own installation of Rubygems. Thus, if you
want a gem installed with gem_package to your system ruby gems you
need to provide the gem_binary attribute like this:

# Install the rake binary for raking things on the system like a raker would.
gem_package "rake" do
  gem_binary "/usr/bin/gem"
end

# Install bundler to the system, any system
gem_package "bundler" do
  gem_binary "gem" # System gem
  version "1.0.15"
  only_if (node['platform'] == 'windows' ? "where gem" : "which gem")
end

We'll be updating our own cookbooks to cope:
http://tickets.opscode.com/browse/COOK-744

Let us know how it goes, and what you you think. You can file bugs
against the Chef project on http://tickets.opscode.com, please add
"omnibus" as a label so we can find it. Be sure so specify what
version of the Omnibus Client you are using, which is the Chef version
but includes an Omnibus specific revision number like "0.10.8-2" would
be the second revision of the Omnibus build for Chef 0.10.8.

I'm still thinking about where and how to document changes. A wiki
page may suffice, but we may need a full blown JIRA project.

-- 
Bryan McLellan | opscode | technical program manager
(c) 206.607.7108 | (t) @btmspox | (b) http://blog.loftninjas.org



Archive powered by MHonArc 2.6.16.

§