0
votes

I'm trying to build an AMI with packer and with chef-solo as provisioner.

I'm quite new to Chef and I didn't find out a way to get dependencies handled from Berks with Packer, but fine, I just went to supermarket, downloaded cookbooks and drag them in my cookbooks/

if we check at my packer code :

"provisioners": [
{
    "type": "chef-solo",
    "cookbook_paths": ["cookbooks"],
    "run_list": [
        "recipe[line]",
        "recipe[yum]",
        "recipe[yum-epel]",
        "recipe[yum-chef]",
        "recipe[mycookbook::default]"
    ]
},

When packer runs i got :

amazon-ebs: Synchronizing Cookbooks:
amazon-ebs: - line (1.0.2)
amazon-ebs: - yum (3.10.0)
amazon-ebs: - yum-epel (0.6.6)
amazon-ebs: - yum-chef (2.0.1)
amazon-ebs: - mycookbook (1.7.5)
amazon-ebs: Installing Cookbook Gems:
amazon-ebs: Compiling Cookbooks...

But then, error :

could not find recipe default for cookbook line

line cookbook is at the same place than mycookbook but still, doesn't find it... I tried with line::default, same issue.

If set mycookbook first, it starts mycookbook but errors as mycookbook needs line cookbook.

Do you have any idea?

1

1 Answers

0
votes

Fixed: downloading directly from supermarket was a bad idea, i installed chefDK and run berks install then i could have correct cookbooks.

then my cookbooks worked and i didn't need to specify other cookbooks in runlist.