matschaffer / knife-solo

DEPRECATED: Please consider using https://knife-zero.github.io/, ansible, or visit https://www.chef.io/ for other ideas
MIT License
786 stars 213 forks source link

provide a way to remedy incompatibility of net-ssh 4.1.0 and knife-solo 0.6.0 #515

Closed ghost closed 7 years ago

ghost commented 7 years ago

to reproduce:

install chefdk-2.0.26-1-x86.msi on windows 10 64bit.

$ chef gem install knife-solo (used docker's mingw64) WARNING: You don't have c:\users\username\appdata\local\chefdk\gem\ruby\2.4.0\bin in your PATH, gem executables will not run. $ export PATH=$PATH:/c/Users/username/AppData/Local/chefdk/gem/ruby/2.4.0/bin $ chef gem install knife-solo $ chef verify ... Running verification for component 'chef-sugar' ...............................C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-provisioning-aws-2.2.2/lib/chef/resource/aws_route53_record_set.rb:48: warning: constant ::Fixnum is deprecated .C:/opscode/chefdk/embedded/lib/ruby/2.4.0/rubygems/specification.rb:2291:in `raise_if_conflicts': Unable to activate knife-solo-0.6.0, because net-ssh-4.1.0 conflicts with net-ssh (< 4.0, >= 2.7) (Gem::ConflictError)


Since its not enough to simply edit the chefdk Gemfile referencing net-ssh-4.1.0, not sure as how best to proceed. How does one go about downgrading net-ssh to 4.0 within the confines of the chefdk or what is the next best solution? Despite what I have tried in my project dir, bundle install results in net-ssh 4.1.0 so knife solo wont activate.

matschaffer commented 7 years ago

0.7.0.pre1 should avoid this

On Thu, Jul 6, 2017 at 10:02 c smith notifications@github.com wrote:

to reproduce:

install chefdk-2.0.26-1-x86.msi on windows 10 64bit.

$ chef gem install knife-solo (used docker's mingw64) WARNING: You don't have c:\users\username\appdata\local\chefdk\gem\ruby\2.4.0\bin in your PATH, gem executables will not run. $ export PATH=$PATH:/c/Users/username/AppData/Local/chefdk/gem/ruby/2.4.0/bin $ chef gem install knife-solo $ chef verify ... Running verification for component 'chef-sugar' ...............................C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-provisioning-aws-2.2.2/lib/chef/resource/aws_route53_record_set.rb:48: warning: constant ::Fixnum is deprecated .C:/opscode/chefdk/embedded/lib/ruby/2.4.0/rubygems/specification.rb:2291:in `raise_if_conflicts': Unable to activate knife-solo-0.6.0, because net-ssh-4.1.0 conflicts with net-ssh (< 4.0, >= 2.7) (Gem::ConflictError)

Since its not enough to simply edit the chefdk Gemfile referencing net-ssh-4.1.0, not sure as how best to proceed. How does one go about downgrading net-ssh to 4.0 within the confines of the chefdk or what is the next best solution? Despite what I have tried in my project dir, bundle install results in net-ssh 4.1.0 so knife solo wont activate.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/matschaffer/knife-solo/issues/515, or mute the thread https://github.com/notifications/unsubscribe-auth/AAACspef9i1AQgVPiu9hWujaiShAJRaFks5sLDH9gaJpZM4OPCiO .

--

-Mat

matschaffer.com

ghost commented 7 years ago

It does indeed. Thank you.

michaldudek commented 7 years ago

This was very useful, probably saved me hours. I'm not really familiar with ruby env so here's the steps that helped me making knife solo working with latest ChefDK on a Mac:

$ chef -v
Chef Development Kit Version: 2.0.28
chef-client version: 13.2.20
delivery version: master (17c1b0fed9be4c70f69091a6d21a4cbf0df60a23)
berks version: 6.2.0
kitchen version: 1.16.0
inspec version: 1.31.1
$ chef gem install specific_install
$ sudo chef gem specific_install https://github.com/matschaffer/knife-solo.git

Had to install the specific_install gem to be able to install the pre release version you mention.

Hope this helps somebody else.

matschaffer commented 7 years ago

Thanks @michaldudek ! I honestly haven't been keeping tabs on ChefDK for quite some time so if you think the readme could benefit from this info I'd welcome a PR.

Or, @aried3r, since you've been working on the code some lately, maybe you'd be interested in reflecting this in the docs?

michaldudek commented 7 years ago

I guess this will fix itself once 0.7.0 is released, whatever the timeframe for that is?

aried3r commented 7 years ago

I am using knife-solo 0.7.0.pre in production because I needed some of the fixes.

Btw, you don't need specific_install, gem allows you to install pre versions like this:

$ chef gem install knife-solo --pre
Fetching: knife-solo-0.7.0.pre.gem (100%)
Thanks for installing knife-solo!

If you run into any issues please let us know at:
  https://github.com/matschaffer/knife-solo/issues

If you are upgrading knife-solo please uninstall any old versions by
running `gem clean knife-solo` to avoid any errors.

See http://bit.ly/CHEF-3255 for more information on the knife bug
that causes this.
Successfully installed knife-solo-0.7.0.pre
1 gem installed