[chef] Re: How to configure opscode nginx properly


Chronological Thread 
  • From: Steve Hummingbird < >
  • To:
  • Subject: [chef] Re: How to configure opscode nginx properly
  • Date: Tue, 22 Apr 2014 12:55:52 +0200
  • Authentication-results: smtp16.mail.yandex.net; dkim=pass

Yes, that is exactly what I had tried. The docs say the following:

"cookbook: The cookbook in which a file is located (if it is not located in the current cookbook). The default value is the current cookbook."

I noticed that if I specify what you propose, chef looks for the template in the specified cookbook, which to my understand lines up with the docs. So using ‘cookbook “nginx”’, tells chef to look for the template in the nginx cookbook instead of the wrapper. 
What I actually would need to do is modify the nginx cookbook to have ‘cookbook “wrapper-nginx”’ inside the definition, but that wouldn’t make much sense.
But I see there is a big refactoring planned for that cookbook [1] anyway. I think I will file a bug against the ‘default_site_enabled’ option nonetheless.


[1] https://tickets.opscode.com/browse/COOK-2781


On 22 Apr 2014, at 00:09, DV < > wrote:

No, what I'm saying is that your template definition should look like this:

 template "#{node['nginx']['dir']}/sites-available/#{params[:name]}" do
   source 'wrapper_site.erb'
   owner  'root'
   group  'root'
   mode   '0644'
   notifies :reload, 'service[nginx]'
   variables ({:site => params[:name], :port => params[:port],
:autoindex => params[:autoindex]})
   cookbook "nginx"
 end

I believe this way you're telling Chef that you're overriding a
template from "nginx" cookbook, so it won't get all confused.

On Mon, Apr 21, 2014 at 4:08 AM, Steve Hummingbird
< > wrote:
Thanks for your reply. However telling the wrapper cookbook that it should use the nginx default template is exactly the opposite of what I want.
I want to use my own config instead of the default config that is bundled with the nginx cookbook.
So, to what I understand, it should work if I set ‘default_site_enabled’ to false, which should prevent the default config from being used. However, for what I have been trying this does not seem to work.
Anyway, I resorted to leaving everything in its default location, which seems to at least solve that problem. Not the best solution, but at least it seems to work. I still haven’t been able to figure out how that part of the cookbook is supposed to work.. Looks pretty scary to me, but I am still pretty new to chef.


On 21 Apr 2014, at 07:28, DV < > wrote:

Try adding cookbook "nginx" to this template definition:

https://github.com/st-h/wrapper-nginx/blob/master/definitions/definition.rb#L23

You can see the template's "cookbook" attribute description here:

http://docs.opscode.com/resource_template.html#attributes

On Sat, Apr 19, 2014 at 11:25 AM, Steve Hummingbird
< > wrote:
Hmm, I am not really sure where and why I should add “chef-server”. But after all my desperate attempts I have commited a wrapper cookbook for nginx to github: https://github.com/st-h/wrapper-nginx
It’s designed after an example I had gotten from #chef irc yesterday. It initially appeared to work fine, but after I had set the [‘nginx’][‘dir’] to a custom location everything seems to fall apart again. The nginx cookbook always installs the default config, even if it has been told to not do so. This has really started to get frustrating. :( So, any help is really appreciated…



On 19 Apr 2014, at 02:15, DV < > wrote:

Are you specifying "cookbook" property in your cookbook's template
definition? Try specifying cookbook "chef-server" and see what
happens.

On Wed, Apr 16, 2014 at 10:40 AM, Steve Hummingbird
< > wrote:
I have been running into some issues when configuring nginx using the opscode cookbook.
I have created a wrapper cookbook, which replaces the default config by putting my config into /etc/nginx/sites-available/default
However, the opscode cookbook always replaces that config with the default sample config. So, on every chef run the nginx cookbook notices that the default config is no longer there and replaces my config, then my wrapper cookbook notices that the config is not correct and replaces that file with my config again.
I was having the same issues when installing from source as well as using the ubuntu package installation.
So, in the end I am getting the feeling that I might be missing something fundamentally or a lot of other people must have been running into the same issue. How do I configure nginx the right way using the opscode cookbook?

Thanks,
Steve




--
Best regards, Dmitriy V.




--
Best regards, Dmitriy V.




--
Best regards, Dmitriy V.




Archive powered by MHonArc 2.6.16.

§