[katello-devel] bundler install issues

David Davis daviddavis at redhat.com
Thu Jan 3 15:23:38 UTC 2013


So having worked with Rails for a number of years, I've never had even a quarter of the problems we've had on katello. Then again, we usually always checked in the Gemfile.lock into our projects so they we were using the same gem versions across each platform (we even used different platforms like OS X, RHEL, and Ubuntu). This helped a lot to ensure that we didn't have problems due to different gem versions. Also, it helped to lock down gem versions so that when new gemm releases came out, stuff didn't break.

Another thing we did was we didn't have wide open gem requirements like we do on katello. There's many gems in our Gemfile and bundler.d files that have no requirements AT ALL. All the bundler documentation I've seen recommends in the very least using tiddle wakka [1]. Looking at the debug output from bundle install, it's obvious this is what the hold up is. 

I mean you have to figure with no gem requirements, there might be 10s of gem versions for each gem and each version with up to 10 dependencies (these dependencies must in turn be resolved). Times that by the number of gems that we're using and ALSO the gem dependencies that each gem has and you're looking at thousands of dependencies that bundler has to manage.

I don't think bundler's dependency resolver sucks so much as I don't think that bundler was meant to be used in the way we're using it.

David

[1] http://twiddlewakka.com/

----- Original Message -----
> From: "Lukas Zapletal" <lzap at redhat.com>
> To: katello-devel at redhat.com
> Sent: Thursday, January 3, 2013 10:07:01 AM
> Subject: Re: [katello-devel] bundler install issues
> 
> Bundler dependency resolver just sucks, there are many reports on
> that
> topic. I have learned, that the only way to fix this undeterministic
> behavior is to lower down the searching space.
> 
> Provide exact versions to few dependencies and then it will be able
> to
> resolve. Start with biggest (richest) deps like rails. This will
> usually
> help. Once the lock file is created, you can revert the change.
> 
> Various bundler/ruby combinations misbehave. Another reason why I am
> not
> using bundler even for development much.
> 
> LZ
> 
> On Thu, Jan 03, 2013 at 09:07:26AM -0500, David Davis wrote:
> > I accidentally deleted my Gemfile.lock while working on a task to
> > remove them and I'm noticing that it's taking 30+ minutes to run
> > bundle install again. Running 'DEBUG_RESOLVER=y bundle install'
> > locally seems to indicate that it's stuck on resolving gem
> > dependencies. In the bundler issue below, the bundler teams
> > recommends using more restrictive gem versions in the Gemfile to
> > get around this.
> > 
> > https://github.com/carlhuda/bundler/issues/2101
> > 
> > Should we maybe take a look at refactoring our Gemfile? I'm
> > thinking it could save us some time running jobs in jenkins and
> > TravisCI as well. I think it would be important to write
> > requirements that fit what's in the repos (F16, F17, RHEL6) and
> > katello-devel-all.rpm.
> > 
> > Thanks.
> > 
> > David
> > 
> > _______________________________________________
> > katello-devel mailing list
> > katello-devel at redhat.com
> > https://www.redhat.com/mailman/listinfo/katello-devel
> 
> --
> Later,
> 
>  Lukas "lzap" Zapletal
>  #katello #systemengine
> 
> _______________________________________________
> katello-devel mailing list
> katello-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/katello-devel
> 




More information about the katello-devel mailing list