[chef] Re: Re: OptionParser::MissingArgument ruby error chef 10.12


Chronological Thread 
  • From: Tim Dunphy < >
  • To:
  • Subject: [chef] Re: Re: OptionParser::MissingArgument ruby error chef 10.12
  • Date: Thu, 6 Sep 2012 23:44:37 -0400

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
[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 < " target="_blank"> > 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.

§