[chef] RE: RE: Re: RE: Re: How to know the developer name who ran the knife cmd?


Chronological Thread 
  • From: Matt Ray < >
  • To: " " < >
  • Subject: [chef] RE: RE: Re: RE: Re: How to know the developer name who ran the knife cmd?
  • Date: Tue, 25 Sep 2012 19:51:56 +0000
  • Accept-language: en-US

http://tickets.opscode.com/browse/CHEF-3479 has the fix in a pull request for Chef 11.

Thanks,
Matt Ray
Senior Technical Evangelist | Opscode Inc.
| (512) 731-2218
Twitter, IRC, GitHub: mattray

From: Matt Ray
Sent: Saturday, September 22, 2012 9:15 AM
To:
Subject: [chef] RE: Re: RE: Re: How to know the developer name who ran the knife cmd?

Yes, you'd need to modify your local chef-full.erb and put it in  your .chef/bootstrap/ directory for your repo. If it seems worthwhile, I could put it into a pull request and see about getting it merged into the other default bootstraps that come with Chef. 

Here's another update to it:

(
cat <<'EOP'
<%= { "run_list" => @run_list, "bootstrap" => { "client" => Chef::Config[:client_key].split('/').last, "time" => Time.now.to_i , "user" => ENV['USER']} }.to_json %>
EOP
) > /etc/chef/first-boot.json

produces

$ knife node show ubuntu1-1204.vm -a bootstrap
bootstrap: 
  client:  mray.pem
  time:    1348323159
  user:    mray

Thanks,
Matt Ray
Senior Technical Evangelist | Opscode Inc.
| (512) 731-2218
Twitter, IRC, GitHub: mattray

From: Sachin Sagar Rai
Sent: Saturday, September 22, 2012 6:38 AM
To:
Subject: [chef] Re: RE: Re: How to know the developer name who ran the knife cmd?

@matt, liked the idea.

But wondering where to put it coz now the chef-client is installed via omnibus, not the bootstrap template from .chef/bootstrap/file1?

Do I've to first dwnld the shell script file that ships with omnibus and modify it and use it instead of automatically fetched one?

-------------------------------------------
@millisami
~ Sachin Sagar Rai
Ruby on Rails Developer
http://tfm.com.np
http://nepalonrails.tumblr.com
Sent with Sparrow

On Saturday, September 22, 2012 at 10:20 AM, Matt Ray wrote:

Great idea, here's something I whipped together to get that to work. I modified my bootstrap template to change the first-boot.json stanza to this:

(
cat <<'EOP'
<%= { "run_list" => @run_list, "bootstrap" => { "client" => Chef::Config[:client_key].split('/').last, "time" => Time.now.to_i } }.to_json %>
EOP
) > /etc/chef/first-boot.json

this renders to this:

{"run_list":[],"bootstrap":{"client":"mray.pem","time":1348288293}}

and looks like this:

knife node show ubuntu1-1204.vm -a bootstrap
bootstrap: 
  client:  mray.pem
  time:    1348288293

Thanks,
Matt Ray
Senior Technical Evangelist | Opscode Inc.
Twitter, IRC, GitHub: mattray

It sounds like all you need is a knife plugin that reads ENV['USER'] and sets a node attribute.

On Sep 21, 2012, at 10:49 PM, Sachin Sagar Rai < " target="_blank"> > wrote:

Ohai!

Is there any api call to know the developer's name who fired the knife cmd to launch a new instance?

-------------------------------------------
@millisami
~ Sachin Sagar Rai
Ruby on Rails Developer
http://tfm.com.np
http://nepalonrails.tumblr.com
Sent with Sparrow





Archive powered by MHonArc 2.6.16.

§