Statement on Ruby 1.8 support

I'd like to propose we have a kind of statement on Ruby 1.8 support,
both for ourselves to follow and so users to know what to expect, since
we've discussed this on PRs a few times now.

Situation:
Ruby 1.8 upstream is EOL, however distributions (namely EL6 and Debian
6) will continue to support it. Our EL6 packages use a Ruby 1.9 SCL so
this only affects source users, while Debian 6 goes EOL in about a year.

We've hit a few issues with various gems dropping support for 1.8, e.g.
this week it was nokogiri 1.6 and before Foreman 1.2 it was a gettext
gem. Rails 4 will also drop support, but we're currently on 3.2 and so
are OK. Fog is also supporting 1.8 for the meantime, but it looks like
it's reducing.

Proposal:

  1. Foreman 1.3 is released with Ruby 1.8.7 support, as long as the
    effort to fix it remains reasonable.
  2. Foreman-next (1.4?) is released with only Ruby 1.9.3+ support.
  3. Debian 6 probably doesn't receive a Foreman-next release, at the
    discretion of Greg or other maintainers.
  4. EL6 remains on Ruby 1.9.3 SCL (or newer).
  5. Remove any workarounds or explicit 1.8 support in Foreman-next.
  6. Optionally update to Rails 4 for Foreman-next.

If a feature is proposed for 1.3 that relies on something that's
1.9-only, we defer it to Foreman-next. If we need to make fixes or
hacks (e.g. https://github.com/theforeman/foreman/pull/799) to keep 1.8
working, we continue to do so for 1.3 as long as the effort's reasonable.

Exceptional circumstances where we could drop 1.8 support for Foreman
1.3 might be security issues or major functionality that can't be
implemented another way.

··· -- Dominic Cleal Red Hat Engineering

I'm fine with this. Squeeze has 1.9 packages anyway, so I can continue to
support it until Squeeze goes EOL.

> I'm fine with this. Squeeze has 1.9 packages anyway, so I can continue to
> support it until Squeeze goes EOL.

What about Ubuntu Server 10.04 and 12.04 LTS releases? (5 year rolling
support window carries us through April 2017.)

It seems we are rushing to dump 1.8.7 support at the first sign of
difficulty. I might be wrong here, and I know in general the ruby
community is keen on moving forward and not looking back, but it seems
that supporting 1.8.7 might be less painful than not doing so at this time.

-Brian

··· On Mon, Jul 22, 2013 at 11:15 AM, Greg Sutcliffe 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.

>> I'm fine with this. Squeeze has 1.9 packages anyway, so I can continue to
>> support it until Squeeze goes EOL.
>
> What about Ubuntu Server 10.04 and 12.04 LTS releases? (5 year rolling
> support window carries us through April 2017.)

We don't package for 10.04, only 12.04 LTS. The 12.04 release is
packaged using Ruby 1.9.3 and would continue to do so.

> It seems we are rushing to dump 1.8.7 support at the first sign of
> difficulty. I might be wrong here, and I know in general the ruby
> community is keen on moving forward and not looking back, but it seems
> that supporting 1.8.7 might be less painful than not doing so at this time.

Hence my desire to put this in writing, to stop suggestions that we
should drop it each time we hit a small bump.

I do think we can continue to support it for one more release because
the problems we've come across so far are small (i.e. pinning packages,
fixing bugs upstream), but I think beyond that it will become very
difficult. We will be inevitably want to move to Rails 4 at some point,
and this will probably prove to be the deciding factor.

In my view, the main users that would be affected are those that don't
use our packages, but either don't use their own Ruby (i.e. rvm/rbenv)
or do, but haven't updated. A segment that from my day to day
experience on the IRC channel appears to be getting smaller as Foreman
goes more mainstream.

··· On 22/07/13 18:13, Brian Gupta wrote: > On Mon, Jul 22, 2013 at 11:15 AM, Greg Sutcliffe > wrote:


Dominic Cleal
Red Hat Engineering

>>> I'm fine with this. Squeeze has 1.9 packages anyway, so I can continue to
>>> support it until Squeeze goes EOL.
>>
>> What about Ubuntu Server 10.04 and 12.04 LTS releases? (5 year rolling
>> support window carries us through April 2017.)
>
> We don't package for 10.04, only 12.04 LTS. The 12.04 release is
> packaged using Ruby 1.9.3 and would continue to do so.
>
>> It seems we are rushing to dump 1.8.7 support at the first sign of
>> difficulty. I might be wrong here, and I know in general the ruby
>> community is keen on moving forward and not looking back, but it seems
>> that supporting 1.8.7 might be less painful than not doing so at this time.
>
> Hence my desire to put this in writing, to stop suggestions that we
> should drop it each time we hit a small bump.
>
> I do think we can continue to support it for one more release because
> the problems we've come across so far are small (i.e. pinning packages,
> fixing bugs upstream), but I think beyond that it will become very
> difficult. We will be inevitably want to move to Rails 4 at some point,
> and this will probably prove to be the deciding factor.

I think this is fair. Now that Rails 4 recently shipped the writing IS
on the wall for 1.8.7 support. (My apologies, I hadn't realized it had
shipped.)

If it's not too much work, I think that support 1.8.7 until we migrate
from Rails 3 to Rails for would be greatly appreciated. That said of
course if we run into a showstopper, like fog dumping 1.8.7, we would
of course have to revisit.

I think we could do something like: "Please note: Ruby 1.8.7 support
is scheduled to be removed in version 2.0 of Foreman. Please see docs
page http:xxx about migrating to a newer version of Ruby." (I
arbitrarily picked a Foreman version, as I'm guessing we aren't
migrating to Rails 4 in this release cycle. The idea would be to pick
a version of Foreman that we plan to incorporate Rails 4 support and
then work backwards from there, when telegraphing our intent. (I'm
also guessing a 2.0 release would probably be a good time to drop this
support and add Rails 4, from an expectation kind of thing. IE: People
expect big changes.)

··· On Mon, Jul 22, 2013 at 1:21 PM, Dominic Cleal wrote: > On 22/07/13 18:13, Brian Gupta wrote: >> On Mon, Jul 22, 2013 at 11:15 AM, Greg Sutcliffe >> wrote:

In my view, the main users that would be affected are those that don’t
use our packages, but either don’t use their own Ruby (i.e. rvm/rbenv)
or do, but haven’t updated. A segment that from my day to day
experience on the IRC channel appears to be getting smaller as Foreman
goes more mainstream.


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.