[chef] Re: [COOK-1406] Roadmap for chef-omnibus + postgresql?


Chronological Thread 
  • From: Lamont Granquist < >
  • To: < >
  • Subject: [chef] Re: [COOK-1406] Roadmap for chef-omnibus + postgresql?
  • Date: Mon, 24 Sep 2012 12:55:08 -0700


Seems there's multiple different problems in that ticket that got conflated together.

The postgresql::ruby recipe should work on systems that have older openssl's in order to install build-essentials at compile-time, to install the system pg libraries and headers and to compile and install the pg gem as a 'chef_gem'. That solves the first issue in that ticket.

The problem comes with newer systems where the openssl in the system is incompatible with the one that omnibus ships. The problem there is that the ruby binary in omnibus is linked against the openssl library in omibus, but the pg libraries on the system are linked against the system pg libraries and if they use different ABIs to talk to openssl when you try to 'chef_gem' install the pg gem you'll wind up with the omnibus version of openssl linked in, and the pg libraries will barf with unresolved symbols because they want the later version of the openssl libs.

Upgrading the openssl libraries in omnibus would just shove this problem around to different distros (now centos5/6, and ubuntu-10.04 would be busted). Shipping pg binaries in omnibus is another solution but its a bit annoying because we probably want to match the pg version against the version shipping with the distro, and that hasn't been what omnibus has been about, its been to ship a consistent version of the libraries in it everywhere.

The better solution is probably to compile the pg libraries from source, making sure to get -I and -L flags right to pick up the omnibus openssl and install those in the omnibus directory. Do that at compile time after installing build-essentials, but before calling chef_gem.

On 9/24/12 11:30 AM, Jay Levitt wrote:
Best I can tell, Joshua Timberman has finished the refactoring of mysql, postgresql, and database cookbooks, and chef 10.14 has been released, both of which were precursors to untangling the chicken-and-egg mess of needing a libpq that's compatible with Omnibus ruby.

Soooo.. what's left? I'm currently installing chef via ubuntu-gems, but that creates its own problems when I replace system ruby with rvm..

Jay

http://tickets.opscode.com/browse/COOK-1406






Archive powered by MHonArc 2.6.16.

§