cookbook generator converge fails when run from the same parent directory as new cookbook
@i5pranay93 is already working on this.
Since Jan 13, 2021.
- Dominant language
- Ruby
- Stars
- 18
- Forks
- 23
- Avg merge
- 5d 17h
- Merged PRs (30d)
- 1
Description
Version:
Chef Workstation version: 0.16.33
Chef Infra Client version: 15.8.23
Chef InSpec version: 4.18.51
Chef CLI version: 2.0.0
Test Kitchen version: 2.3.4
Cookstyle version: 5.22.6
Environment:
[Details about the environment such as the Operating System, cookbook details, etc...]
MacOS -10.14.6
Scenario:
Generator code generator and trying use it to generate new cookbook
Steps to Reproduce:
chef generate generator test_code_generator
Try to create new cookbook using generator
chef generate cookbook -g /Users/Workspace/projects/chef/cookbooks/test_code_generator/ test_cookbook
Expected Result:
New cookbook should be generatored
Actual Result:
Generator generator:
chef generate generator test_code_generator
Copied built-in generator cookbook to /Users/Workspace/projects/chef/cookbooks/test_code_generator
Add the following to your config file to enable it:
chefcli.generator_cookbook "/Users/Workspace/projects/chef/cookbooks/test_code_generator"
Generator cookbook:
chef generate cookbook -g /Users/Workspace/projects/chef/cookbooks/test_code_generator/ test_cookbook
Generating cookbook test_cookbook
- Ensuring correct cookbook content
Error executing action `create_if_missing` on resource 'template[/Users/Workspace/projects/chef/cookbooks/test_cookbook/metadata.rb]'
Chef::Exceptions::CookbookNotFoundInRepo
----------------------------------------
The directory /Users/Workspace/projects/chef/cookbooks/test_cookbook does not contain a cookbook
Resource Declaration:
---------------------
# In /Users/Workspace/projects/chef/cookbooks/test_code_generator/recipes/cookbook.rb
25: template "#{cookbook_dir}/metadata.rb" do
26: helpers(ChefCLI::Generator::TemplateHelper)
27: variables(
28: spdx_license: spdx_license
29: )
30: action :create_if_missing
31: end
32:
Compiled Resource:
------------------
# Declared in /Users/Workspace/projects/chef/cookbooks/test_code_generator/recipes/cookbook.rb:25:in `from_file'
template("/Users/Workspace/projects/chef/cookbooks/test_cookbook/metadata.rb") do
action [:create_if_missing]
default_guard_interpreter :default
source "metadata.rb.erb"
helper_modules [ChefCLI::Generator::TemplateHelper]
declared_type :template
cookbook_name :test_code_generator
recipe_name "cookbook"
variables {:spdx_license=>"All Rights Reserved"}
path "/Users/Workspace/projects/chef/cookbooks/test_cookbook/metadata.rb"
owner nil
group nil
mode nil
verifications []
end
System Info:
------------
chef_version=15.8.23
ruby=ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin17]
program_name=/usr/local/bin/chef-cli
executable=/opt/chef-workstation/bin/chef-cli
ERROR: Chef Infra failed to converge: template[/Users/Workspace/projects/chef/cookbooks/test_cookbook/metadata.rb] (test_code_generator::cookbook line 25) had an error: Chef::Exceptions::CookbookNotFoundInRepo: The directory /Users/Workspace/projects/chef/cookbooks/test_cookbook does not contain a cookbook from file /opt/chef-workstation/embedded/lib/ruby/gems/2.6.0/gems/chef-15.8.23/lib/chef/cookbook/cookbook_version_loader.rb:78:in `load!'
Caused by: (Chef::Exceptions::CookbookNotFoundInRepo) template[/Users/Workspace/projects/chef/cookbooks/test_cookbook/metadata.rb] (test_code_generator::cookbook line 25) had an error: Chef::Exceptions::CookbookNotFoundInRepo: The directory /Users/Workspace/projects/chef/cookbooks/test_cookbook does not contain a cookbook
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.