Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gem conflict on Windows workstation, not sure how to solve #20

Open
dloomer opened this issue Mar 22, 2016 · 5 comments
Open

Gem conflict on Windows workstation, not sure how to solve #20

dloomer opened this issue Mar 22, 2016 · 5 comments

Comments

@dloomer
Copy link

dloomer commented Mar 22, 2016

This isn't necessarily an issue with kitchen-nodes but the guy on my team exhibiting this issue can install and use chef-zero just fine, and I wouldn't expect the gem dependencies in question to be different.

Disclaimer: my ruby experience is entirely based in Chef. This could turn out to be a painfully n00b-ish issue.

After doing a gem install kitchen-nodes (we try not to use bundler with Chef/test-kitchen) and then issuing a kitchen command:

>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ClientError
>>>>>> Message: Could not load the 'nodes' provisioner from the load path. Please ensure that your provisioner is installed as a gem or included in your Gemfile if using Bundler.

and then the relevant section of .kitchen.log:

E, [2016-03-22T11:31:18.893842 #1716] ERROR -- Kitchen: Class: Kitchen::ClientError
E, [2016-03-22T11:31:18.893842 #1716] ERROR -- Kitchen: Message: Could not load the 'nodes' provisioner from the load path. Please ensure that your provisioner is installed as a gem or included in your Gemfile if using Bundler.
E, [2016-03-22T11:31:18.894842 #1716] ERROR -- Kitchen: ---Nested Exception---
E, [2016-03-22T11:31:18.894842 #1716] ERROR -- Kitchen: Class: Gem::ConflictError
E, [2016-03-22T11:31:18.894842 #1716] ERROR -- Kitchen: Message: Unable to activate chef-12.4.3-universal-mingw32, because mixlib-shellout-2.2.1-universal-mingw32 conflicts with mixlib-shellout (< 2.2, >= 2.0.0.rc.0)

I'm the only other one on our team testing with kitchen-nodes at the moment, and I have no issue but I'm also using a Mac.

Is there something we should explicitly install to resolve this, or is kitchen-nodes just not compatible with the Chef 12.4.3 gem on Windows?

@mwrock
Copy link
Owner

mwrock commented Mar 23, 2016

Yeah. These Gem conflicts can be truly painful. Usually the first thing you can try is just blow away your Gemfile.lock file and do a fresh bundle install. That will force bundler to resolve everything fresh and it may result in a conflict free bundle.

@aarsan
Copy link

aarsan commented Sep 17, 2016

I am getting this same error after upgrading test-kitchen from 1.11.0 to 1.13.0. hmm

@mwrock
Copy link
Owner

mwrock commented Sep 24, 2016

might try installing the latest chef-dk (0.18.26) to clear up any gem conflicts

@JPvRiel
Copy link

JPvRiel commented Oct 18, 2016

Similar issue happened to me. I used gem install kitchen-nodes.

$ chef exec gem list | grep kitchen
kitchen-dokken (0.0.31)
kitchen-ec2 (1.0.0)
kitchen-inspec (0.15.0)
kitchen-nodes (0.8.0)
kitchen-vagrant (0.20.0)
test-kitchen (1.13.2, 1.10.2)

Maybe I'm mistaken, but thought chef-dk includes kitchen by default, and kitchen uses the gems bundled with chef-dk ...

When I dug into it a bit, found this in the kitchen.log

E, [2016-10-18T01:42:15.195936 #703] ERROR -- Kitchen: Class: Gem::ConflictError
E, [2016-10-18T01:42:15.195946 #703] ERROR -- Kitchen: Message: Unable to activate
 kitchen-nodes-0.8.0, because test-kitchen-1.10.2 conflicts with test-kitchen (~> 
1.13)

Wasn't sure if 1.10.2 or 1.13.2 was the version that came with chef-dk and how two ended up conflicting. I suspect kitchen-nodes causes 1.13.2 to be pulled in? But it's not really there at all?

find /opt/chefdk -type f -name 'test-kitchen*.gem'
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/cache/test-kitchen-1.10.2.gem

Checking for update

chef exec gem update test-kitchen
Updating installed gems
Nothing to update

And I can confirm I'm running the latest "stable" chefdk for Ubuntu 16.04 LTS

cat /etc/apt/sources.list.d/chef-stable.list
deb https://packages.chef.io/stable-apt xenial main

But it looks quite a bit behind

$ chef --version
Chef Development Kit Version: 0.16.28
chef-client version: 12.15.19
delivery version: master (921828facad8a8bbbd767368bfc72f19bd30e7bd)
berks version: 4.3.5
kitchen version: 1.10.2

@mcascone
Copy link

See #29 for more info and hints

tl;dr = use kitchen-nodes-scalp42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants