[chef] Re: Re: Building a basic Rails-Stack with Chef-Solo/Berkshelf


Chronological Thread 
  • From: Patrick Mulder < >
  • To:
  • Subject: [chef] Re: Re: Building a basic Rails-Stack with Chef-Solo/Berkshelf
  • Date: Mon, 25 Feb 2013 15:40:32 +0100

Thanks, Cassiano!

I see the vagrant recipe as part of RVM and rbenv.  Still I am having two problems, after this commit:


Sp:

1. chef-solo gem is still out of the scope (= running vagrant provision the next time ends with (whether or not I include the chef gem in node.json)

[default] Running provisioner: Vagrant::Provisioners::ChefSolo...
The chef binary (either `chef-solo` or `chef-client`) was not found on
the VM and is required for chef provisioning. Please verify that chef
is installed and that the binary is available on the PATH.


2. in the first run, I get stuck with the same error as previously:

/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application/solo.rb:216:in `loop'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application/solo.rb:216:in `run_application'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application.rb:72:in `run'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/chef-solo:25
/opt/ruby/bin/chef-solo:19:in `load'
/opt/ruby/bin/chef-solo:19
[2013-02-25T14:38:18+00:00] FATAL: Chef::Exceptions::Package: package[curl-dev] (nginx::passenger line 38) had an error: Chef::Exceptions::Package: No version specified, and no candidate version available for curl-dev



Any ideas how to approach this?

Patrick






On Mon, Feb 25, 2013 at 1:02 PM, Cassiano Leal < " target="_blank"> > wrote:
I had a similar problem before, but with RVM instead of rbenv.

The problem was that I had switched the ruby to the RVM one, and my VM had chef installed on its own ruby.

Fletcher Nichol's RVM cookbook [0] (the one I'm using) works around the problem with a 'vagrant' recipe [1] which I add to my Vagrant VMs run_list and point to chef-client's executable. You might be able to use that as a starting point.

A workaround that *might* work is to add the chef gem to the rbenv managed ruby on the first conversion.

On Monday, February 25, 2013 at 08:02, Patrick Mulder wrote:

Hello,

I am working on a basic Rails stack with Berkshelf that I would like to present at  http://wrocloverb.com/ if things work out. Basically, my goal is to have a:

 berks install
 vagrant up

and get a running Rails stack that would be easy to customize (e.g. switching the database like MySQL, Postgres, Mongo, Arangodb, ... )

As a start, I took the chef-solo/Rails stack from this repository:  https://github.com/excid3/chef-rails-stack

Then, I removed some cookbook dependencies by applying Berkshelf.

So far, my setup is now:



But since the stack above uses rbenv (which I think is interesting for testing different VM baseboxes), I am running into a gem problem.

The first provisioning works fine, however I am running into a dependency problem, that I don't understand how to solve:

/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application/solo.rb:224:in `run_application'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application/solo.rb:216:in `loop'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application/solo.rb:216:in `run_application'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application.rb:72:in `run'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/chef-solo:25
/opt/ruby/bin/chef-solo:19:in `load'
/opt/ruby/bin/chef-solo:19
[2013-02-25T10:59:43+00:00] FATAL: Chef::Exceptions::Package: package[curl-dev] (nginx::passenger line 38) had an error: Chef::Exceptions::Package: No version specified, and no candidate version available for curl-dev


I think the problem is related to rbenv/ruby build setup, since the next provisioning will not find the chef-solo gem anymore.

Any help or feedback what I could do, would be great!

Thanks,

Patrick







Archive powered by MHonArc 2.6.16.

§