- From: Jay Pipes <
>
- To:
- Subject: [chef] Re: Re: How to get test-kitchen to work when cookbook is named "cookbook-x"
- Date: Tue, 13 Nov 2012 18:47:19 -0500
On 11/13/2012 05:41 PM, Andrea Campi wrote:
>
I usually just check it out with just the short name:
>
>
git clone …/cookbook-nova nova
>
>
Do you have a hard requirements that the local directory is named like
>
the repository?
Like I mentioned, we already have a project called "nova" in the repo,
so I suppose I'd have to change my local repo structure to something
like this:
/repos/cookbooks/nova
/repos/projects/nova
I just prefer to have all code in a single local repo dir.
Best,
-jay
>
On Tue, Nov 13, 2012 at 11:19 PM, Jay Pipes
>
<
>
<mailto:
>>
>
wrote:
>
>
Hi all,
>
>
I'm trying to get test-kitchen to work and am running into some issues
>
that I was hoping to get some help with.
>
>
In our organization git repo, we have all our Chef cookbooks in git
>
repos named "cookbook-X", where X is a project we work on.
>
>
For example, we work on the OpenStack Nova project. We have a repo
>
called github.com:att-cloud/nova that houses our Nova code changes and a
>
repo called github.com:att-cloud/cookbook-nova that houses our cookbook
>
for Nova.
>
>
The above seems to me to be a very common developer scenario, but
>
apparently it's not what many tools in the Chef ecosystem are hard-coded
>
to look for -- namely ChefSpec and test-kitchen.
>
>
For ChefSpec, we get around the problem of ChefSpec not being able to
>
find the cookbook by doing this:
>
>
cd $cookbook
>
mkdir -p cookbooks
>
ln -s .. cookbooks/$short_name
>
>
Where $short_name would be just "nova".
>
>
This little hack allows ChefSpec to run properly.
>
>
Unfortunately, we can't seem to figure out how to do the same thing with
>
test-kitchen.
>
>
If I run kitchen init && kitchen test in our cookbook-nova root dir,
>
things look like this:
>
>
http://paste.openstack.org/show/25829/
>
>
There are a number of Foodcritic failures like this:
>
>
FC007: Ensure recipe dependencies are reflected in cookbook metadata:
>
/home/jpipes/repos/att-cloud/cookbook-nova/recipes/api-ec2.rb:21
>
>
Which refer to an include_recipe that refers to a "nova::<recipe>"
>
>
If I go into test/kitchen/Kitchenfile and change this line:
>
>
cookbook "cookbook-nova" do
>
>
to this:
>
>
cookbook "nova" do
>
>
I get more failures when running kitchen test:
>
>
http://paste.openstack.org/show/25830/
>
>
How do others get around this problem? I can't imagine that our shop is
>
the only one that has developers working on projects and cookbooks that
>
have similar naming conventions... since you can't have the code and the
>
cookbook repo named the same thing.
>
>
Any and all advice most appreciated,
>
-jay
>
>
Archive powered by MHonArc 2.6.16.