Drop Ruby 1.9.2 support

We currently support Ruby 1.8.7, 1.9.2 and 1.9.3 (soon 2.0.0 too), but
there's a problem showing up with 1.9.2 and Puppet 3.2.0-rc1, released
yesterday.

http://projects.theforeman.org/issues/2413

It's due to monkey patching of Array in Puppet, and it's conflicting
somehow with sass-rails in the full Foreman app (as we load Puppet as a
library). Unfortunately 1.9.2 is not a supported version for running
Puppet.

1.9.2 is only available on Debian Squeeze (of our primary platforms),
and even then, 1.8.7 is the default stack.

Does anybody object if we drop 1.9.2 support from the test matrix?

··· -- Dominic Cleal Red Hat Engineering

There was a proposal to drop 1.8 entirely a while back, which means for
Squeeze users we'd have to fix this. If we're keeping 1.8.7 for a decent
time frame, then I have no objection to dropping 1.9.2.

That said, we need strip back how we load the puppet libraries at some
point anyway, right? Should we not fix this and keep our options open? How
many people (at a guess) are affected by this today?

Greg

··· On 19 April 2013 11:00, Dominic Cleal wrote:

We currently support Ruby 1.8.7, 1.9.2 and 1.9.3 (soon 2.0.0 too), but
there’s a problem showing up with 1.9.2 and Puppet 3.2.0-rc1, released
yesterday.

Bug #2413: NoMethodError on Puppet 3.2 and Ruby 1.9.2 - Foreman

It’s due to monkey patching of Array in Puppet, and it’s conflicting
somehow with sass-rails in the full Foreman app (as we load Puppet as a
library). Unfortunately 1.9.2 is not a supported version for running
Puppet.

1.9.2 is only available on Debian Squeeze (of our primary platforms),
and even then, 1.8.7 is the default stack.

Does anybody object if we drop 1.9.2 support from the test matrix?

>
> We currently support Ruby 1.8.7, 1.9.2 and 1.9.3 (soon 2.0.0 too), but
> there's a problem showing up with 1.9.2 and Puppet 3.2.0-rc1, released
> yesterday.
>
> Bug #2413: NoMethodError on Puppet 3.2 and Ruby 1.9.2 - Foreman
>
> It's due to monkey patching of Array in Puppet, and it's conflicting
> somehow with sass-rails in the full Foreman app (as we load Puppet as a
> library). Unfortunately 1.9.2 is not a supported version for running
> Puppet.
>
> 1.9.2 is only available on Debian Squeeze (of our primary platforms),
> and even then, 1.8.7 is the default stack.
>
> Does anybody object if we drop 1.9.2 support from the test matrix?
>
>
> There was a proposal to drop 1.8 entirely a while back, which means for
> Squeeze users we'd have to fix this. If we're keeping 1.8.7 for a decent
> time frame, then I have no objection to dropping 1.9.2.

Good point, I think we'll be continuing 1.8 as long as Squeeze is
around. So maybe 1.3 could be the last?

> That said, we need strip back how we load the puppet libraries at some
> point anyway, right? Should we not fix this and keep our options open?
> How many people (at a guess) are affected by this today?

We do, but I'm not sure it's in our priority list for 1.2. Maybe it
should be.

It only affects us at the moment as it's beginning to break tests. When
Foreman 1.2 is released, if we haven't removed Puppet from core, then it
will affect Puppet 3.2 users on Squeeze.

··· On 19/04/13 11:08, Greg Sutcliffe wrote: > On 19 April 2013 11:00, Dominic Cleal > wrote:


Dominic Cleal
Red Hat Engineering

>
> Good point, I think we'll be continuing 1.8 as long as Squeeze is
> around. So maybe 1.3 could be the last?

There's no guarantee people will upgrade when Wheezy is released. In $last
job I was supporting Squeeze, Lenny, Etch, and even a handful of Woody
systems. Admittedly asking them to upgrade just the Foreman server isn't
too bad, but still…

> > That said, we need strip back how we load the puppet libraries at some
> > point anyway, right? Should we not fix this and keep our options open?
> > How many people (at a guess) are affected by this today?
>
> We do, but I'm not sure it's in our priority list for 1.2. Maybe it
> should be.
>

I wasn't suggesting that, I'm saying that we will get to it, and right now
no-one is impacted anyway (as far as I'm aware)

It only affects us at the moment as it's beginning to break tests. When
> Foreman 1.2 is released, if we haven't removed Puppet from core, then it
> will affect Puppet 3.2 users on Squeeze.

Then I propose we drop it from tests. Squeeze can be 1.8.7 as the official
platform, and 1.9.2 becomes a "best_effort" untested release. Replace 1.9.2
with 2.0 once we support it, then we're not increasing the test load.

··· On 19 April 2013 11:15, Dominic Cleal wrote:

Don't forget that CentOS (and 'stuff' like it) is also used quite a
lot and I see no support for any updated ruby 1.9.x version there in
the near future.

··· On 04/19/2013 12:15 PM, Dominic Cleal wrote: > On 19/04/13 11:08, Greg Sutcliffe wrote: >> On 19 April 2013 11:00, Dominic Cleal > > wrote:

There was a proposal to drop 1.8 entirely a while back, which
means for Squeeze users we’d have to fix this. If we’re keeping
1.8.7 for a decent time frame, then I have no objection to
dropping 1.9.2.

Good point, I think we’ll be continuing 1.8 as long as Squeeze is
around. So maybe 1.3 could be the last?

rhel5.x is 1.8.5. I (and I assume most opensource puppet users as well)
use the ruby 1.8.7 RPMs provided by PL.

el5.x is going to be with us until ~2017 and I suspect I'll be stuck
with it in my production env past that.

https://access.redhat.com/support/policy/updates/errata/

-Josh

··· On 04/19/2013 03:15 AM, Dominic Cleal wrote: > Good point, I think we'll be continuing 1.8 as long as Squeeze is > around. So maybe 1.3 could be the last?

>
>>> There was a proposal to drop 1.8 entirely a while back, which
>>> means for Squeeze users we'd have to fix this. If we're keeping
>>> 1.8.7 for a decent time frame, then I have no objection to
>>> dropping 1.9.2.
>>
>> Good point, I think we'll be continuing 1.8 as long as Squeeze is
>> around. So maybe 1.3 could be the last?
>
> Don't forget that CentOS (and 'stuff' like it) is also used quite a
> lot and I see no support for any updated ruby 1.9.x version there in
> the near future.

That and Ubuntu Lucid Lynx LTS 12.04, which will be a supported OS
until April, 2017, ships with 1.8.x. (Don't know if we can actually
support it that long, but we should try). Also RHEL is still shipping
with 1.8.x.

··· On Fri, Apr 19, 2013 at 6:42 AM, Jan Vansteenkiste wrote: > On 04/19/2013 12:15 PM, Dominic Cleal wrote: >> On 19/04/13 11:08, Greg Sutcliffe wrote: >>> On 19 April 2013 11:00, Dominic Cleal >> > wrote:


You received this message because you are subscribed to the Google Groups “foreman-dev” group.
To unsubscribe from this group and stop receiving emails from it, send an email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

>
>>> There was a proposal to drop 1.8 entirely a while back, which
>>> means for Squeeze users we'd have to fix this. If we're keeping
>>> 1.8.7 for a decent time frame, then I have no objection to
>>> dropping 1.9.2.
>>
>> Good point, I think we'll be continuing 1.8 as long as Squeeze is
>> around. So maybe 1.3 could be the last?
>
> Don't forget that CentOS (and 'stuff' like it) is also used quite a
> lot and I see no support for any updated ruby 1.9.x version there in
> the near future.

I didn't forget! Foreman 1.2 packages will probably be using SCL
(Software Collections) to provide a Ruby 1.9 stack on EL5 and EL6, which
Foreman will run under:

On 19/04/13 11:47, Brian Gupta wrote:> On Fri, Apr 19, 2013 at 6:42 AM,
> That and Ubuntu Lucid Lynx LTS 12.04, which will be a supported OS
> until April, 2017, ships with 1.8.x. (Don't know if we can actually
> support it that long, but we should try)…

That's a good point, though we currently only primarily support the
latest LTS release (having stopped 10.04).

Anyway, I hadn't meant to cast a shadow over 1.8, apologies. I agree
that's the more important platform at the moment. 1.9.2 was the version
I was targeting!

··· On 19/04/13 11:42, Jan Vansteenkiste wrote: > On 04/19/2013 12:15 PM, Dominic Cleal wrote: >> On 19/04/13 11:08, Greg Sutcliffe wrote: >>> On 19 April 2013 11:00, Dominic Cleal >> > wrote:


Dominic Cleal
Red Hat Engineering

>
>
> Good point, I think we'll be continuing 1.8 as long as Squeeze is
> around. So maybe 1.3 could be the last?
>
>
> There's no guarantee people will upgrade when Wheezy is released. In
> $last job I was supporting Squeeze, Lenny, Etch, and even a handful of
> Woody systems. Admittedly asking them to upgrade just the Foreman
> server isn't too bad, but still…

I don't doubt it, been in the same situation myself plenty of times.
I'd always make a distinction though between minimum requirements to
deploy a new version of an application (e.g. Foreman 1.2) and keeping
requirements the same for an existing application (1.1.x). So I'd say
it's reasonable to require a current OS release to deploy a new
application release.

> > That said, we need strip back how we load the puppet libraries at some
> > point anyway, right? Should we not fix this and keep our options open?
> > How many people (at a guess) are affected by this today?
>
> We do, but I'm not sure it's in our priority list for 1.2. Maybe it
> should be.
>
>
> I wasn't suggesting that, I'm saying that we will get to it, and right
> now no-one is impacted anyway (as far as I'm aware)

I didn't mean to suggest you did :slight_smile: I was just thinking of timescales,
as 1.2 will be out soon, as will Puppet 3.2, so that's when problems may
begin.

> It only affects us at the moment as it's beginning to break tests. When
> Foreman 1.2 is released, if we haven't removed Puppet from core, then it
> will affect Puppet 3.2 users on Squeeze.
>
>
> Then I propose we drop it from tests. Squeeze can be 1.8.7 as the
> official platform, and 1.9.2 becomes a "best_effort" untested release.
> Replace 1.9.2 with 2.0 once we support it, then we're not increasing the
> test load.

Yep, thanks. It's likely we can add 1.9.2 again if needed later, once
Puppet's removed, though we'll see when it happens.

··· On 19/04/13 11:20, Greg Sutcliffe wrote: > On 19 April 2013 11:15, Dominic Cleal > wrote:


Dominic Cleal
Red Hat Engineering

Wow - where has that been all my production life…? :slight_smile:

-Josh

··· On 04/19/2013 07:08 AM, Dominic Cleal wrote: > I didn't forget! Foreman 1.2 packages will probably be using SCL > (Software Collections) to provide a Ruby 1.9 stack on EL5 and EL6, which > Foreman will run under: > > http://jnovy.fedorapeople.org/scl-utils/scl.pdf

Yeah, it should solve a few problems, maybe create some too!

Sam, reading Joshua's previous e-mail makes me wonder how we'll handle
Puppet in an SCL build of Foreman, since this is currently required from
Foreman core. Any thoughts, or are we consigned to rebuilding it…?

··· On 24/04/13 22:54, Joshua hoblitt wrote: > On 04/19/2013 07:08 AM, Dominic Cleal wrote: >> I didn't forget! Foreman 1.2 packages will probably be using SCL >> (Software Collections) to provide a Ruby 1.9 stack on EL5 and EL6, which >> Foreman will run under: >> >> http://jnovy.fedorapeople.org/scl-utils/scl.pdf > > Wow - where has that been all my production life...? :)


Dominic Cleal
Red Hat Engineering

> >> I didn't forget! Foreman 1.2 packages will probably be using SCL
> >> (Software Collections) to provide a Ruby 1.9 stack on EL5 and EL6, which
> >> Foreman will run under:
> >>
> >> http://jnovy.fedorapeople.org/scl-utils/scl.pdf
> >
> > Wow - where has that been all my production life…? :slight_smile:
>
> Yeah, it should solve a few problems, maybe create some too!
>
> Sam, reading Joshua's previous e-mail makes me wonder how we'll handle
> Puppet in an SCL build of Foreman, since this is currently required from
> Foreman core. Any thoughts, or are we consigned to rebuilding it…?
>

Yes, right now we are building 3.1 on top of the SCL. Unfortunately there
isn't much of a way around this because Foreman and puppet need to share
the same runtime in order for Foreman to load the required pieces of
Puppet's library.

··· On Thu, Apr 25, 2013 at 3:19 AM, Dominic Cleal wrote: > On 24/04/13 22:54, Joshua hoblitt wrote: > > On 04/19/2013 07:08 AM, Dominic Cleal wrote:


Dominic Cleal
Red Hat Engineering


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

All I know about SCL is from the slide deck Dominic sent around but…

If the SCL macros are added into the PL puppet/puppet-server RPM specs,
shouldn't it be possible to install an official opensource release into
the foreman SCL stack?

-Josh

··· On 04/25/2013 04:58 AM, Sam Kottler wrote: > Sam, reading Joshua's previous e-mail makes me wonder how we'll handle > Puppet in an SCL build of Foreman, since this is currently required from > Foreman core. Any thoughts, or are we consigned to rebuilding it..? > > > Yes, right now we are building 3.1 on top of the SCL. Unfortunately > there isn't much of a way around this because Foreman and puppet need to > share the same runtime in order for Foreman to load the required pieces > of Puppet's library.