[chef] Re: Re: Re: "yum install xxxx" or "apt-get install xxxx" analogy for chef?


Chronological Thread 
  • From: Matt Ray < >
  • To:
  • Cc: Akzhan Abdulin < >
  • Subject: [chef] Re: Re: Re: "yum install xxxx" or "apt-get install xxxx" analogy for chef?
  • Date: Thu, 23 Feb 2012 09:25:29 -0600
  • Authentication-results: mr.google.com; spf=pass (google.com: domain of designates 10.50.15.231 as permitted sender)

I assume this still works, but I wrote a cookbook that does what
you're describing. The one-shot cookbook runs a recipe, then removes
it and itself from the run list.
https://github.com/mattray/mattray-cookbooks/tree/master/one-shot

Thanks,
Matt Ray
Senior Technical Evangelist | Opscode Inc.

 | (512) 731-2218
Twitter, IRC, GitHub: mattray



On Thu, Feb 23, 2012 at 9:16 AM, Tom H 
< >
 wrote:
> On 21/02/12 11:29, Akzhan Abdulin wrote:
>
> Oops. You are right. chef-client -j is very unattractive option.
>
>
> Yeah, I ended up with a wrapper script that is sort of a hack to append some
> role or recipe string to the run_list and write it to
> /etc/chef/first-boot.json and run chef-client  -j
> /etc/chef/first-boot.json   and then remove it after the script has run.
>
> I considered temporarily changing the run_list to just the recipe I wanted
> using the -j options, but it deletes all the local cookbooks from the cache
> that are not included, so the next run of the full list takes ages to
> re-download etc.
>
> I suspect the answer is involves tinkering with knife to invoke shef or
> something like that.
>
> Tom
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>>>
>>> For our developer boxes, typically the users won't know chef, and won't
>>> have a locally configured knife, and these guys would be used to 
>>> installing
>>> tomcat or some package using the distro specific tool (apt/yum/emerge).
>>>
>>> However for a bunch of packages/services we have chef recipes
>>> specifically to get tomcat6 or others onto CentOS 5.6 boxes e.g.
>>> recipe[tomcat::tomcat6]
>>>
>>> Obviously its possible to create a /etc/chef/tomcat.json file and run it
>>> as chef-client -j /etc/chef/tomcat.json such as
>>> {  "run_list" : ["recipe[tomcat::tomcat6]"]  }
>>>
>>> Or even to open "shef -z" session and apply the recipe interactively. Or
>>> even to run knife as the chef-client user with the client.pem and 
>>> client.rb
>>> file...
>>>
>>> However I am looking for something that can be easily applied as a
>>> one-liner... does such a thing exist as a plugin for chef-client?
>>>
>>>
>>> chef-client -r "recipe[somecookbook::somerecipe]" would be perfect... ;-)
>>>
>>>
>>> Thanks
>>> Tom
>>>
>>>
>>>
>>
>
>



Archive powered by MHonArc 2.6.16.

§