-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Seeing version incompatibilities on installation, Ubuntu 14.04 #2517
Comments
@opscode/client-engineers would it be possible to yank the gem and bump ohai to 8? |
Thanks, I’ve confirmed that this works:
|
This borks the installation of any gem that depends on chef, e.g., minitest-chef-handler, but unfortunately the error message in that case isn't as helpful as the one migurski got:
It's also a problem on every platform, not just Ubuntu. |
cloudinit hits the same problem when configured with |
We're seeing this same error installing certain gems during an initial converge, i.e. chef_gem 'chef-handler-graphite' -- not sure why its picking up ohai 7.6 at all, but it sure breaks everything. |
This works for me on ruby 1.9.3 and ruby 2.1.3. It only fails on ruby 1.8.7 (i don't have a ruby 1.9.2 to test right now, but its probably behaving like 1.8.7). Both 1.8.7 and 1.9.2 are past EOL and there's no security updates for those and we don't support those any more. We didn't intend to break them this hard, but it does look like this error is indicative of using unsupported ruby versions. |
Here's the base problem:
Its trying to install ohai 7.6.0 which pins to mixlib-shellout >= 2.0 which won't install on 1.8.7, and the fact that mixlib-shellout 2.0 isn't viable doesn't make it culled out of the depsolver. So actually this is probably the result of releasing ohai 7.6.0 rather than yanking mixlib-shellout 1.6.0 This might be a good case for yanking ohai 7.6.0 (since it was released yesterday and most people wouldn't have it in Gemfile.locks yet, and then adding the version pin). If we add the version pin to ohai 8.0 and release it, then we'll still pick up 7.6.0 on old rubies and still be broken. |
Using omnibus installer of 11.14.6 it reports as (embedded) ruby 1.9.3 but dumps gems into a 1.9.1 folder? And the error is present. |
I wonder if the rubygems version is relevant here? Rubygems has been getting a lot smarter about version conflicts over time |
BTW, the directories that Ruby uses to store stuff are based on the ruby binary interface version, so it's expected that ruby 1.9.3 uses a ruby 1.9.1 directory. |
@lamont-granquist I get the same problem on 1.9.3 - it's not anything to do with 1.8.7.
The root problem is that the ohai 7.6.0 release changed the mixlib-shellout dependencies from those in 7.4.0, and which are now incompatible with the chef -> mixlib-shellout dependencies in chef 11.16.4.
So when 7.4.0 was the latest, that constraints were There are a bunch of solutions, some easier than others:
The first one seems the least likely to break along with being the least amount of work. |
Okay, this is the old rubygems transitive depsolving bug then (json 1.7.7 + chef + berkshelf issue). Clearly there's a solution if people are able to install ohai 7.4.0 and everything works. I can also install fine on up-to-date 1.9.3 and 2.1.3. That matches with the omnibus version of chef having the same problem since the rubygems version there is ancient. My understanding was that chef-client 11.x was supposed to pin to ohai 7.4 while chef-client 12.x was supposed to pin to ohai 7.6 but that does not seem to be what happened. Since ohai 7.6 pulls in mixlib-shellout 2.x it must be excluded by chef-client 11.x (which cannot pull in mixlib-shellout 2.x), we can't have a dep of a dep pulling in mixlib-shellout 2.x on chef 11.x. So the correct solution is to yank 7.6.0 and release 8.0. Releasing chef-client 11.x is also more than an order of magnitude more complicated than releasing the other gems due to rebuilding and releasing the omnibus artifacts, so we aren't going to be doing that unless we absolutely have to. |
I agree that yanking ohai 7.6.0 and treating the incompatible dependencies as an API change sounds like a great way to resolve this. |
Thanks for help all. Here is the plan we will start to execute pretty soon to resolve this:
|
@sersut 👍 |
@sersut 👍 |
👍 |
Thanks again for working with us during this issue guys. Ohai 8.0.1 is now released and we will be releasing Chef 12.0.0 soon. I'll be closing this issue. We will be on the watchout on Github for any potential issues 😄 👍 |
On Ubuntu 14.04, I started seeing this error earlier today:
Shouldn’t that be trivial to resolve, or am I misunderstanding the meaning of
~>
?Here is the context:
run.sh
. This worked fine earlier in the morning, now consistently fails with the error above.The text was updated successfully, but these errors were encountered: