- From: AJ Christensen <
>
- To:
- Subject: [chef] Re: Re: Re: OptionParser::MissingArgument ruby error chef 10.12
- Date: Fri, 7 Sep 2012 15:55:26 +1200
Yo,
On 7 September 2012 15:44, Tim Dunphy
<
>
wrote:
>
Hi there,
>
>
>The `-c` option requires an argument (the path to the desired config file).
>
> I seem to remember this having a better error >message in the past, I'll
>
> look into it.
>
>
That's an awesome tip! Thanks and I appreciate you looking into this as well
>
as getting me a bit further down the road of actually using chef as opposed
>
to puppet. I'm fairly used to using puppet at this point but I'm excited to
>
learn chef!
>
>
So what I've done is cook up (excuse the pun) a little test where I would
>
remove the 'vim-enhanced' package via yum and see if I could get chef to
>
install it.
>
>
So the run went like this:
>
>
:/opt]
>
#/usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/chef-solo -c
>
/var/chef/cookbooks/jf-beta/recipes/default.rb
-c, --config CONFIG The configuration file to use
It appears that you are attempting to pass in a single recipe as
Chef's configuration file. This will not work.
I'd imagine what you would like to do is: configure Chef to be aware
of your cookbook path and instruct chef-solo to run the recipe.
Here is the documentation regarding all available Chef Configuration
Settings:
http://wiki.opscode.com/display/chef/Chef+Configuration+Settings
You'll want something like:
(solo.rb)
cookbook_path [ "/var/chef/cookbooks" ]
Now, you'll want to instruct chef-solo to run the default recipe in
the jf-beta (?) cookbook, like so:
(dna.json)
{ "run_list": [ "recipe[jf-beta::default]" ] }
And then, hey presto..
chef-solo -c solo.rb -j dna.json
In any case, despite all of the above, this is all terribly well
documented on the Opscode wiki; here is a "fast start guide"
http://wiki.opscode.com/display/chef/Fast+Start+Guide
It's worth mentioning there is a huge repository of community
supported (and Opscode!) cookbooks at
http://community.opscode.com/
Cheers,
AJ
>
[2012-09-06T21:01:21-04:00] INFO: *** Chef 10.12.0 ***
>
[2012-09-06T21:01:23-04:00] INFO: Run List is []
>
[2012-09-06T21:01:23-04:00] INFO: Run List expands to []
>
[2012-09-06T21:01:23-04:00] INFO: Starting Chef Run for cloud.jokefire.com
>
[2012-09-06T21:01:23-04:00] INFO: Running start handlers
>
[2012-09-06T21:01:23-04:00] INFO: Start handlers complete.
>
[2012-09-06T21:01:23-04:00] INFO: Chef Run complete in 0.005195 seconds
>
[2012-09-06T21:01:23-04:00] INFO: Running report handlers
>
[2012-09-06T21:01:23-04:00] INFO: Report handlers complete
>
>
And this is the simple recipe I tried:
>
>
:/opt]
>
#cat /var/chef/cookbooks/jf-beta/recipes/default.rb
>
package("vim-enhanced")
>
>
Sadly, I had a look afterward to realize that 'vim-enhanced' had not
>
actually been installed.
>
>
:/opt]
>
#rpm -qa | grep vim
>
vim-common-7.0.109-7.el5
>
vim-minimal-7.0.109-7.el5
>
>
I also tried creating a mysql database this way:
>
>
:/opt]
>
#/usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/chef-solo -c
>
/var/chef/cookbooks/create_mysql_db/recipes/default.rb
>
[2012-09-06T23:37:13-04:00] INFO: *** Chef 10.12.0 ***
>
[2012-09-06T23:37:14-04:00] INFO: Run List is []
>
[2012-09-06T23:37:14-04:00] INFO: Run List expands to []
>
[2012-09-06T23:37:14-04:00] INFO: Starting Chef Run for cloud.jokefire.com
>
[2012-09-06T23:37:14-04:00] INFO: Running start handlers
>
[2012-09-06T23:37:14-04:00] INFO: Start handlers complete.
>
[2012-09-06T23:37:14-04:00] INFO: Chef Run complete in 0.005601 seconds
>
[2012-09-06T23:37:14-04:00] INFO: Running report handlers
>
[2012-09-06T23:37:14-04:00] INFO: Report handlers complete
>
>
This is the recipe that tries to do that:
>
>
:/opt]
>
#cat
>
/var/chef/cookbooks/create_mysql_db/recipes/default.rb
>
bash "really awesome way to create a mysql database from chef using the bash
>
method" do
>
>
# dont if the db already exists
>
not_if("/usr/bin/mysql -uroot -psecretsauce -e'show databases' | grep
>
#{node[:create_mysql_db][chef_test]}", :user => 'bluethundr')
>
>
# run as my user
>
user "bluethundr"
>
>
# a heredoc of the code to execute, note the node hash is created from the
>
JSON file
>
code <<-HEY_BRO_EOM
>
mysql -uroot --psecretsauce -e 'create database
>
#{node[:create_mysql_db][:chef_test]}'
>
HEY_BRO_EOM
>
>
end
>
>
Result:
>
>
mysql> show databases like 'chef%';
>
Empty set (0.00 sec)
>
>
>
I was just wondering if there might be some docs to get me past this stage
>
or even just some basic advice.
>
>
Thanks
>
Tim
>
>
>
On Wed, Sep 5, 2012 at 5:00 PM, Daniel DeLeo
>
<
>
>
wrote:
>
>
>
>
>
> On Wednesday, September 5, 2012 at 1:11 PM, Tim Dunphy wrote:
>
>
>
> Hello,
>
>
>
> I come from using puppet to manage our conf files and am very new to
>
> chef, but looking forward to diving in here since it seems like a great
>
> tool.
>
>
>
> I've just installed Chef 10.12 on centos 5.6 using a gem install.
>
>
>
> /usr/bin/gem install chef ohai --no-rdoc --no-ri
>
>
>
> When I go to run chef-solo for the first time I am running into a ruby
>
> error with the following output:
>
>
>
>
:~]
>
> #/usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/chef-solo -c
>
> /usr/lib/ruby/1.8/optparse.rb:451:in `parse': missing argument: -c
>
> (OptionParser::MissingArgument)
>
> from /usr/lib/ruby/1.8/optparse.rb:1295:in `parse_in_order'
>
> from /usr/lib/ruby/1.8/optparse.rb:1254:in `catch'
>
> from /usr/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
>
> from /usr/lib/ruby/1.8/optparse.rb:1248:in `order!'
>
> from /usr/lib/ruby/1.8/optparse.rb:1339:in `permute!'
>
> from /usr/lib/ruby/1.8/optparse.rb:1360:in `parse!'
>
> from
>
> /usr/lib/ruby/gems/1.8/gems/mixlib-cli-1.2.2/lib/mixlib/cli.rb:154:in
>
> `parse_options'
>
> from
>
> /usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/../lib/chef/application.rb:75:in
>
> `configure_chef'
>
> from
>
> /usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/../lib/chef/application.rb:62:in
>
> `reconfigure'
>
> from
>
> /usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/../lib/chef/application/solo.rb:134:in
>
> `reconfigure'
>
> from
>
> /usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/../lib/chef/application.rb:68:in
>
> `run'
>
> from /usr/lib/ruby/gems/1.8/gems/chef-10.12.0/bin/chef-solo:25
>
>
>
>
>
>
>
>
>
>
> I tried doing a : gem install OptionParser
>
>
>
> But that hasn't changed the output.
>
>
>
> I was just wondering if I might be missing a ruby module and/or what I
>
> would need to install to get chef running in this host for the first time.
>
>
>
>
>
> Thanks
>
> Tim
>
>
>
> --
>
> GPG me!!
>
>
>
> gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
>
>
>
>
>
> The `-c` option requires an argument (the path to the desired config
>
> file). I seem to remember this having a better error message in the past,
>
> I'll look into it.
>
>
>
> --
>
> Daniel DeLeo
>
>
>
>
>
>
--
>
GPG me!!
>
>
gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
>
>
Archive powered by MHonArc 2.6.16.