Reputation: 35
I am learning Chef for the first time. At this point I was trying to run cookbooks instead of single recipe through chef-client. But I am receiving error message saying "missing cookbooks". I have tried to debug multiple times, as you can see using tree command, it is clear that there is cookbook named apache.
I tried to run the other cookbook workstation as well, but that gave the same error
Please help. And let me know where I am going wrong.
[vagrant@localhost ~]$ tree
.
├── cookbooks
│ ├── apache
│ │ ├── Berksfile
│ │ ├── chefignore
│ │ ├── metadata.rb
│ │ ├── README.md
│ │ ├── recipes
│ │ │ ├── default.rb
│ │ │ └── server.rb
│ │ ├── spec
│ │ │ ├── spec_helper.rb
│ │ │ └── unit
│ │ │ └── recipes
│ │ │ └── default_spec.rb
│ │ └── test
│ │ └── recipes
│ │ └── default_test.rb
│ └── workstation
│ ├── Berksfile
│ ├── chefignore
│ ├── metadata.rb
│ ├── README.md
│ ├── recipes
│ │ ├── default.rb
│ │ └── setup.rb
│ ├── spec
│ │ ├── spec_helper.rb
│ │ └── unit
│ │ └── recipes
│ │ └── default_spec.rb
│ └── test
│ └── recipes
│ └── default_test.rb
├── generate
├── hello.rb
├── help
│ ├── Berksfile
│ ├── chefignore
│ ├── metadata.rb
│ ├── README.md
│ ├── recipes
│ │ └── default.rb
│ ├── spec
│ │ ├── spec_helper.rb
│ │ └── unit
│ │ └── recipes
│ │ └── default_spec.rb
│ └── test
│ └── recipes
│ └── default_test.rb
└── nodes
└── localhost.json
24 directories, 28 files
[vagrant@localhost ~]$ sudo chef-client -z --runlist “apache::server”
[2017-08-08T13:16:05+00:00] WARN: No config file found or specified on command line, using command line options.
Starting Chef Client, version 12.14.89
resolving cookbooks for run list: ["“apache::server”"]
================================================================================
Error Resolving Cookbooks for Run List:
================================================================================
Missing Cookbooks:
------------------
No such cookbook: “apache
Expanded Run List:
------------------
* “apache::server”
Platform:
---------
x86_64-linux
Running handlers:
[2017-08-08T13:16:07+00:00] ERROR: Running exception handlers
Running handlers complete
[2017-08-08T13:16:07+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 01 seconds
[2017-08-08T13:16:07+00:00] FATAL: Stacktrace dumped to /root/.chef/local-mode-cache/cache/chef-stacktrace.out
[2017-08-08T13:16:07+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-08-08T13:16:07+00:00] ERROR: 412 "Precondition Failed"
[2017-08-08T13:16:07+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
[vagrant@localhost ~]$
Upvotes: 2
Views: 5731
Reputation: 37630
It seems that you have copied that line including typographic (?) quotes. Have a look at the output:
resolving cookbooks for run list: ["“apache::server”"]
So fix those quotes in your shell command:
$ sudo chef-client -z --runlist "apache::server"
Upvotes: 2