[chef] RE: Re: RE: RE: RE: Re: RE: Re: No chefdk RPM available for RHEL 5?


Chronological Thread 
  • From: Nico Kadel-Garcia < >
  • To: " " < >
  • Subject: [chef] RE: Re: RE: RE: RE: Re: RE: Re: No chefdk RPM available for RHEL 5?
  • Date: Wed, 25 Mar 2015 17:12:03 -0500
  • Accept-language: en-US
  • Acceptlanguage: en-US

The reluctance for the chefdk develers to directly support CentOS 5 is 
understandable, the ruby on it is quite out of date and insufficient for the 
current build tools.
I've activated a "ruby-1.9.3" cookbook on a CentOS 5 VM, and encountered 
adventures trying to use the bundle tool, but the CentOS 5 build chefdk RPM 
seems to work in my casual testing. I do have some comments.

* Using "bundle" to build up the chefdk toolkit the first time runs into 
exactly the problems the basic "chef" and "chef-server" packages have 
building Berkshelf. It requires extensive compilation tools, and a *LOT* of 
RAM or swap, to successfully build the "dep-selector-gem" requirement. I 
wound up having to add several gigabytes of swap space just to allow it to 
complete.

* The massive resource consumption of libgecode compilation is exacerbated by 
the hardcoded "make -j5", which I personally consider a premature 
optimization. The default should, ideally, be "make -j1" which complex tests 
or manual settings can optimize for powerful environments: being slow on 
instances that could compile faster is much safer than breaking on 
lightweight instances. I've actually commented about this before from a 
different workplace, and it's one of my compelling reasons to want to simply 
install chefdk in the first place..

* The "bundle exec omnibus build chefdk" command uses the "Packager::RPM" 
tool to build the RPM on CentOS 5. Unfortunately, that tool builds only 
RPM's, not SRPM's. I wish I understood the  tool well enough to fix that, but 
I don't today. That gets into security and source code management for RPM's: 
a build environment you construct from git, or anything else on the fly, does 
not necessarily bear a strong resemblance to the code used to build an 
earlier or later RPM, especially if the .spec file or any patches are 
generated dynamically. And sure enough, in this case, the .spec file is 
generated dynamically. So to analyze any '%post' or RPM macro controlled 
settings, you have to disassemble the whole RPM::Packager toolkit rather than 
having an SRPM to read.

Overall, this looks like it's actually in reach for CentOS or RHEL 5: the key 
is the lack of a recent enough ruby in CentOS 5 itself to build the packages.

Nico Kadel-Garcia
Lead DevOps Engineer



> -----Original Message-----
> From: Daniel DeLeo 
> [mailto:
>  On Behalf Of Daniel DeLeo
> Sent: Tuesday, March 17, 2015 11:33 AM
> To: 
> 
> Subject: [chef] Re: RE: RE: RE: Re: RE: Re: No chefdk RPM available for 
> RHEL 5?
> 
> We build ChefDK using this project: https://github.com/chef/omnibus-chef/
> 
> You can either set up a CentOS5 machine with compilers and a recent ruby
> yourself and then run `bundle exec omnibus build chefdk` or you can use the
> built-in test kitchen stuff to run the build in a VM for you.
> 
> --
> Daniel DeLeo




Archive powered by MHonArc 2.6.16.

§