[chef] Re: Re: Re: omnibus thoughts


Chronological Thread 
  • From: "John E. Vincent (lusis)" < >
  • To: " " < >
  • Subject: [chef] Re: Re: Re: omnibus thoughts
  • Date: Wed, 4 Sep 2013 21:20:57 -0400

Lamont, I was actually about to respond to your previous email when I read this one. I honestly don't mind the idea of using the Gemfile for this sort of thing but as you pointed out (and I suspected but hadn't confirmed) the opscode stuff is hardcoded.

I'm going to try and slot some time to learn the codebase a bit more and get some POC type things done. This might be an easy first stab along with Seth's idea about a search path.


On Wed, Sep 4, 2013 at 7:33 PM, Lamont Granquist < " target="_blank"> > wrote:
On 9/4/13 2:53 PM, Seth Falcon wrote:

If you can specify the location on a per dependency basis, what happens
when two different things depend on 'nginx' from two different sources?
Is the per dependency thing something you are sure you need? Seems
easier to reason about a list of software repos defining a software
package search path.

Thinking out loud here... I could see a desire to be able to install
different versions of the same thing in a given package. It's unclear to
me if that would be best managed within omnibus or by the user
(e.g. create packages nginx-1.2, nginx-2.0).


I just checked the source in omnibus-ruby and it looks like omnibus-software is very hardcoded in omnibus.rb:

  def self.omnibus_software_root
    @omnibus_software_root ||= begin
      if spec = Gem::Specification.find_all_by_name('omnibus-software').first
        Pathname.new(spec.gem_dir)
      else
        nil
      end
    end
  end

Talked with Seth a little and one small step towards this would be to remove the hard-coding and allow the project file to specify a list of gems to search for software definitions (in-order).  Sources of the gems could then just be specified in the Gemfile.

And I had actually assumed this is kind of how it worked already... We're definitely making architectural choices in omnibus-software that will not take into consideration any downstream consumers other than opscode projects...





Archive powered by MHonArc 2.6.16.

§