Centos – Chef Knife Upload Cookbook: Method not Allowed

centoschefcookbook

I'm running Chef server 11 on a CentOS 6 box. Installed via the RPM from Opscode. I set up my workstation on a Windows 7 box. I can run the usual knife client list and get a response, so I'm confident that my server is working correctly.

I created a local Git repo on the workstation, added the getting-started cookbook, and committed it to the local repo (on local disk on the workstation).

When I try to upload the cookbook, though:

knife cookbook upload getting-started
Uploading getting-started [0.4.0]
ERROR: Method Not Allowed
Response:

The 'Response' is empty. When I try a knife cookbook list, I get back an empty set. I imagine that's because it's fetching it from the server, which doesn't have the cookbook yet.

I saw this post on the old Opscode wiki, which lead me to believe that I'm trying to edit the _default environment. So created a Dev environment, confirmed it existed, and:

knife cookbook upload getting-started -E Dev

Same result. My last resort was to specify an admin account:

knife cookbook upload getting-started -E Dev -u admin

Same result.

What do I need to do in order to successfully upload this cookbook?

Best Answer

I had this same issue from a default install. Turns out the knife.rb needed https:// instead of http:// in the server url as well.

Related Topic