Questions tagged [chef]

Chef is an open source configuration management framework for infrastructure automation.

Chef is an open source systems integration framework built to bring the benefits of configuration management to your entire infrastructure. You write source code to describe how you want each part of your infrastructure to be built, then apply those descriptions to your servers. The result is a fully automated infrastructure: when a new server comes on line, the only thing you have to do is tell Chef what role it should play in your architecture.

More information can be found in the Documentation.

635 questions
31
votes
2 answers

How to find the Chef environment in a recipe?

I want to run a cookbook_file resource only if the current environment is "dev". How can this be expressed? The documentation suggests this: In a recipe, a code block like this would be useful: qa_nodes = search(:node,"chef_environment:QA") …
21
votes
6 answers

Is there a more elegant way to remotely run chef-client?

This is the way recommended in the Chef Fast Start tutorial: knife ssh name:mynode -a ipaddress -x ubuntu -i mycredentials.pem "sudo chef-client" This is really clumsy. Is there really not a better way, or is the idea that in a real production…
13
votes
2 answers

chef-solo vs chef-client --local-mode

According to the document I should replace chef-solo by chef-client --local-mode. Local mode was added to the chef-client in the 11.8 release. If you are running that version of the chef-client (or later), you should consider using local mode…
ironsand
  • 707
13
votes
4 answers

Manage chef cookbooks in a team environment

I'm learning chef and having problems structuring everything to work with my team. For starters, it seems that you should create a chef-repo folder, where you will store and modify the cookbooks used to manage your nodes. I work on various…
13
votes
2 answers

In chef, how do I access attributes within role files?

I'm able to set attributes in role files as documented but I'm not able to access attributes already set by cookbooks that I'm using. For example within /roles/appserver.rb: name "appserver" run_list(%w{ …
Ophir Radnitz
  • 343
  • 2
  • 10
11
votes
2 answers

Chef recipe order of execution redux

Given the following recipe: ruby_block "block1" do block do puts "in block1" end action :create end remote_file "/tmp/foo" do puts "in remote_file" source "https://yahoo.com" end I'd expect the ruby_block to run first…
Dan Tenenbaum
  • 193
  • 1
  • 2
  • 10
11
votes
2 answers

Chef: How to run a resource on notification only?

I'd like to declare a resource that I want to run multiple times on notification and only on notification. How can I prevent the resource to run on its own after it is declared? Is there some way to check if there is a notification present, so I can…
9
votes
3 answers

Chef-client not updating a cookbook from the server

I have a chef cookbook (for apache2). It fails to work on one node. So I'm trying to tweak it and update it, but the node doesn't seem to download the new version. I have been able to upload everything to the chef server from my local machine with…
Amandasaurus
  • 32,281
  • 69
  • 194
  • 263
8
votes
3 answers

Chef: encrypted data bags, protecting the encryption key

When you are using the encrypted data bag feature for Chef how do you go about deploying the key to many servers? If you put it into a recipe anyone who has access to any of the chef servers or clients can pull the key and potentially decrypt any of…
Kyle
  • 1,599
  • 9
  • 14
8
votes
3 answers

Idiomatic way to invoke chef-solo?

What is the idiomatic way to invoke chef-solo? Most sites do this: chef-solo -c ~/solo.rb -j ~/node.json -r http://www.example.com/chef-solo.tar.gz But that's long. There are a few shorter ways to do this that I can think of: A rake task (rake…
7
votes
1 answer

Chef - Howto compute attributes from node specific values?

Let say I have a cookbook which configures and installs a magical deamon: magical-deamon/recipes/default.rb: template "/etc/magical-deamon/magical.conf" do source "magical.conf" mode 0644 notifies :restart, resources(:service =>…
7
votes
4 answers

bootstrap (add node) localhost in chef

Problem. Following command line knife bootstrap 127.0.0.1 -r 'recipe[chef-client]' -x user -p password --sudo returns Bootstrapping Chef on 127.0.0.1 WARNING: Failed to connect to 127.0.0.1 -- Errno::ECONNREFUSED: Connection refused -…
V_V
  • 171
6
votes
1 answer

How to check if chef databag exists?

I want to check if there is a slaves databag. If there is one, and it contains data then I want to execute an action for every slave. I have the following code: slaves = data_bag('slaves') if slaves.length > 0 for slave in slaves ...xyz.. …
6
votes
2 answers

Running "sudo chef-client" does not update with latest version of cookbook

Here's the situation: I have a recipe that I've been working on to install monit and install a custom monit configuration. That configuration has changed the past couple of days. I have a chef server and a chef node. The server has the most…
6
votes
3 answers

Is there a way to pass parameters at run time in Chef?

I wanted to pass some attributes to chef-client at runtime. Is there a way to do the same? I was looking into chef-client -j option, but to my knowledge it can be used to specify run_list. Can I pass some attributes in it? If yes, how?
1
2 3 4 5 6 7 8