Sorry for the top posting.

If you look carefully you should find that this year red hat extend
the 5 and 6 lifetime to 10 year, without extended maintenance support.
But i agree that rhel 5 is not the best plattform for running foreman
or dashboard.

Regards

2012/1/6, Michael Stahnke <[email protected]>:
> Jo, thanks for this.  I do most of the packaging for Puppet Labs (and
> quite a bit of the ruby stuff in EPEL).  I have a few comments in
> line.    I'd love to have this on our wiki too, so feel free to post
> there as well.
>
> One more thing to keep in mind is that EL5 only has about 2 years of
> life left on it.  It launched in 2007.
>
>
> On Wed, Jan 4, 2012 at 5:04 PM, Jo Rhett <[email protected]> wrote:
>> NOTE: this is a draft document, just because there are some things here
>> that
>> I'd really like to improve.  Please let me know if you have a better way
>> to
>> do these things.  There's also a few issues with Puppet Dashboard that
>> appear to be bugs that need either improved documentation or changes to
>> their source RPM to fix.  I'd love to see better ways to fix this.
>>
>> I am attempting to document how one can take an EL5 system (like CentOS
>> 5.x)
>> to Ruby 1.8.7 and meets the minimum requirements for Puppet Dashboard.
>> There
>> are many reasons for this:
>>
>> 1. PuppetLabs blames many server-side issues on Ruby 1.8.5's known memory
>> problems.  They have indicated that only Ruby 1.8.7 is supportable.
>>
>> 2. Dashboard requires Ruby 1.8.7
>>
>> 3. Foreman requires Ruby 1.8.7
>>
>> Requirements:
>> EL5 system with rpmbuild utilities and ~/rpmbuild structure set up as
>> documented nearly everywhere.  If you use different paths, adjust as
>> necessary for the remainder of the document.
>
> You can install rpmdev-tools and run rpmdev-setuptree and it will
> setup a ~/rpmbuild directory and proper building macros for your
> system, etc.
>
>>
>> Step 1: Upgrade Ruby
>> I have seen recommendations for Koran's Ruby build, but it didn't build on
>> a
>> fairly stock EL5 system, and included a bunch of unrelated-to-puppet Tk
>> and
>> JP patches.  I found a much simpler spec file that appears to build
>> properly
>> on EL5 that uses a significantly higher patch level of Ruby, fixes the
>> autoconf problems. It was trivial to review the few patches on this.
>
> The http://centos.karan.org/el5/ruby187/ are basically a drop-in
> replacement for how the EL5 ruby stack worked, just upgraded to 1.8.7.
>  I imagine the trouble you had building is due to the method you used
> building the packages.  RPMs built by EPEL/Centos/RH/Puppetlabs are
> built using mock.  (http://fedoraproject.org/wiki/Projects/Mock).
> Mock assumes a group of packages is installed prior to building.  That
> list of packages is
>
> install bash bzip2 coreutils cpio curl cvs diffutils fedpkg findutils
> gawk gcc gcc-c++ gnupg grep gzip info make patch redhat-release
> redhat-release-server redhat-rpm-config rpm-build sed shadow-utils tar
> unzip util-linux-ng which xz
>
> If you have those installed, they should build cleanly.
>>
>> wget http://rbel.frameos.org/stable/el5/SRPMS/ruby-1.8.7.352-5.el5.src.rpm
>> rpm -i ruby-1.8.7.352-5.el5.src.rpm
>> rpmbuild -ba ~/rpmbuild/SPECS/ruby.spec
>
> Always nice to have more options for packages. I do kind of get
> bothered that I get ruby-tcl bindings all the time :)
>>
>> For any of the nodes, you need only put this RPM in your repository and
>> have
>> Puppet upgrade them.  It just works ;-)
>>
>> For the passenger server, you'll need to get the source RPM from stealth
>> monkeys.  You don't need to change anything at all -- just build the SRC
>> rpm
>> and it will adjust everything to use Ruby 1.8.7.  Very simple.
>>
>> wget
>> http://passenger.stealthymonkeys.com/SRPMS/rubygem-passenger-3.0.11-1.src.rpm
>> rpm -i rubygem-passenger-3.0.11-1.src.rpm
>> rpmbuild -ba ~/rpmbuild/SPECS/passenger.spec
>>
>> Step 2: Dashboard Requirements
>>
>> First you need to get the mysql drivers for Ruby. The EPEL version binds
>> against ruby 1.8.5, but you can compile their source RPM on your
>> ruby-1.8.7
>> system and it will work great.
>
> This might be able to be fixed in EPEL. Since it dymaically links
> against ruby, I would think that having 1.8.5 or 1.8.7 would work.
> Could you file a bug at bugzilla.redhat.com on that?
>>
>> wget ${EPEL_MIRROR_OF_CHOICE}/5/SRPMS/ruby-mysql-2.7.3-1.el5.src.rpm
>> rpm -i ruby-mysql-2.7.3-1.el5.src.rpm
>> rpmbuild -ba ~/rpmbuild/SPECS/ruby-mysql.spec
>>
>> Next thing is that Puppet Dashboard requires a newer version of Ruby Gems,
>> but it doesn't tell you this. Instead it just barfs weird error messages.
>>  They need to rewrite their Rakefile to explicitly define the minimum
>> versions.
>
> Really?  We ship rubygems 1.3.7 in Puppet Enterprise and I haven't
> seen any errors.  There are a few deprecation warnings though I
> believe. This might be a case of exact versions of several gems all
> playing together properly.  Our PE preview branch (to be released
> later this month) uses:
>   Gems 1.3.7
>   Rake 0.8.7
>   Rack 1.1.3
>   Dashboard 1.2.4
>
>>
>> Thankfully, upgrading gems is very easy.
>>
>> wget
>> http://rbel.frameos.org/stable/el5/SRPMS/rubygems-1.8.10-1.el5.src.rpm
>> rpm -i rubygems-1.8.10-1.el5.src.rpm
>> rpmbuild -ba ~/rpmbuild/SPECS/rubygems.spec
>
> Note this can cause issues.  Rubygems has a habit of completely
> breaking things that used to work. *shakes fist*
>>
>> Unfortunately, I never found a simple way to build RPMs for the three gems
>> you need.  I'd like to fix this next part of the HOWTO in the near future.
>
> gem2rpm is fairly good as a starting point.
>
> Package name is oddly rubygem-gem2rpm in EPEL.
>
>>  For now, the easiest way to get the minimum requirements installed is to
>> run the following commands.
>> gem install rake
>
> You should be able yum install rubygem-rake from epel. (unless the
> rubygems version change prevents that)
>> gem install rdoc
>> gem install rack -v 1.1.2
>>
>> You'll observe that we installed a very specific version of Rack.  The
>> reason for this is that Puppet Dashboard includes rack 1.1.2 within the
>> package, but the default Rakefile doesn't load it -- so it wants you to
>> have
>> Rack in your normal gems library too.  However if the version doesn't
>> match
>> the same version included in the frozen vendor directory, it complains
>> about
>> that and barfs. I consider this a bug in the dashboard
>> packaging: https://projects.puppetlabs.com/issues/11669
>
> I'll have a look at that.  Yeah, that's our fault and probably masked
> by versions of rake shipped with EL6. (0.8.7 I think)
>>
>> However, if you install 1.1.2 and nothing newer, it will work just fine.
>>
>> Step 3: Install Dashboard
>>
>> For unknown reasons to me, the source RPM for dashboard can't be extracted
>> on EL5 unless you pass --nomd5 --nosignature.  The good news is that the
>> source RPM for EL6 compiles without any changes on EL5.
>
> This is because the way RPM works changed between EL5 and EL6.  In EL5
> RPMS were built using md5 as the digest, they use sha (256 I think) in
> EL6.  There's not much I can do about that.  If I build the RPM for
> EL5, it will throw warnings on EL6; since we target EL6 that's what we
> do.
>
>>
>> wget
>> http://yum.puppetlabs.com/el/6/products/SRPMS/puppet-dashboard-1.2.4-1.el6.src.rpm
>> rpm --nomd5 --nosignature -i puppet-dashboard-1.2.4-1.el6.src.rpm
>> rpmbuild -ba rpmbuild/SPECS/puppet-dashboard.spec
>>
>> That's it!  You now have puppet dashboard installed with all dependancies.
>>  You can then follow the standard documentation from puppet labs at
>>   http://docs.puppetlabs.com/guides/installing_dashboard.html#installation
>>
>> Skip the first two #1 bullets and the first #2 bullet and start with the
>> second #2.
>>
>> One problem I found was that when I tried to run it under
>> Passenger/Apache,
>> I was told that it couldn't read the config.ru file.  I had to do the
>> following to fix this:
>>   cd /usr/share/puppet-dashboard
>>   ln ./vendor/rails/railties/dispatches/config.ru config.ru
>>
>> This is already tracked in https://projects.puppetlabs.com/users/3472
> That link might be wrong.
>>
>> This is working great for me right now.  Let me know if you have any ideas
>> for streamlining this process.
>>
>> --
>> Jo Rhett
>> Net Consonance : consonant endings by net philanthropy, open source and
>> other randomness
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Puppet Users" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/puppet-users?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>
>

-- 
Inviato dal mio dispositivo mobile

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to