Can I run chef-shell as chef-client when my chef-client is running in chef-zero (chef-local) mode?

The parameter used to run chef-client in zero mode is -z. However using -z with chef-shell just makes it run in chef-client mode...


You need to start chef-zero as it's own process, and then point chef-shell's server config at the running chef-zero.

See this example:

In one terminal:

$ chef-zero
>> Starting Chef Zero (v4.2.1)...
>> WEBrick (v1.3.1) on Rack (v1.6.1) is listening at
>> Press CTRL+C to stop

In another terminal:

$ chef-shell -z -S http://localhost:8889

You could also create a new client.rb file and use: chef-shell -z -c /path/to/client.rb

| improve this answer | |

Mike's answer is correct.

When doing this on test-kitchen nodes I use the following "script" which also populates the chef-zero with the necessary cookbooks, etc.

/opt/chef/bin/chef-zero -d
cd /tmp/kitchen
knife upload . -c client.rb
knife upload . -c client.rb  # because the first one sometimes fails
chef-shell -z -c client.rb

I've created a feature request for simplifying this which you may wish to vote for.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.