templateschef-infracookbook

Chef::Exceptions::FileNotFound: template[/var/www/html/index.html]


I am new to the chef I could not understand what is an issue. Following is my default script

apt_update 'Update the apt cache daily' do
  frequency 86_400
  action :periodic
end

package 'apache2'

service 'apache2' do
  supports status: true
  action [:enable, :start]
end

template '/var/www/html/index.html' do
  source 'index.html.erb'
end

this is the error I am getting

[2020-04-25T12:57:00+00:00] FATAL: Stacktrace dumped to /home/vagrant/.chef/local-mode-cache/cache/chef-stacktrace.out
[2020-04-25T12:57:00+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2020-04-25T12:57:00+00:00] FATAL: Chef::Exceptions::FileNotFound: template[/var/www/html/index.html] (learn_chef_apache2::default line 18) had an error: Chef::Exceptions::FileNotFound: Cookbook 'learn_chef_apache2' (0.1.0) does not contain a file at any of these locations:
  templates/host-vagrant.vm/index.html.erb
  templates/ubuntu-18.04/index.html.erb
  templates/ubuntu/index.html.erb
  templates/default/index.html.erb
  templates/index.html.erb

and this is my cookbooks tree

cookbooks
├── learn_chef_apache2
│   ├── Berksfile
│   ├── CHANGELOG.md
│   ├── chefignore
│   ├── LICENSE
│   ├── metadata.rb
│   ├── README.md
│   ├── recipes
│   │   └── default.rb
│   ├── spec
│   │   ├── spec_helper.rb
│   │   └── unit
│   │       └── recipes
│   │           └── default_spec.rb
│   └── test
│       └── integration
│           └── default
│               └── default_test.rb
├── learn_chef_appache2
│   └── templates
│       ├── default
│       └── index.html.erb
└── templates
    └── index.html.erb

Can someone please help me what wrong I am doing and it will be great if you can share a link or explain it for my understanding.


Solution

  • what I did wrong was my template was created outside learn_chef_apache2 whereas it should be inside as follwing

    cookbooks
    └── learn_chef_apache2
        ├── Berksfile
        ├── CHANGELOG.md
        ├── chefignore
        ├── index.html.erb
        ├── LICENSE
        ├── metadata.rb
        ├── README.md
        ├── recipes
        │   └── default.rb
        ├── spec
        │   ├── spec_helper.rb
        │   └── unit
        │       └── recipes
        │           └── default_spec.rb
        ├── templates
        │   └── index.html.erb
        └── test
            └── integration
                └── default
                    └── default_test.rb