Dropping ruby 1.87 support

Hi,

I would like to suggest that 1.6.x would be the last stable release of
foreman supporting ruby 1.87 (only foreman, not the proxy, installer etc),
main reasons are:

  • It is hard to use 3rd party library as 1.87 is not supported by most gem
    authors.
  • unable to upgrade to rails 4.x.
  • 1.87 is not widely used anymore, while it was not a major pain point to
    keep it, I would rather spend the time supporting other ruby versions (2.1,
    jruby?) instead.

This would allow us to enjoy new rails features (and performance boost),
start pulling plugins such as foreman-tasks into foreman itself etc.

Any objections?

Ohad

> Hi,
>
> I would like to suggest that 1.6.x would be the last stable release of
> foreman supporting ruby 1.87 (only foreman, not the proxy, installer
> etc), main reasons are:
>
> - It is hard to use 3rd party library as 1.87 is not supported by most
> gem authors.
> - unable to upgrade to rails 4.x.

Last time a few of us discussed this ("Statement on Ruby 1.8 support"),
we said we would drop it when we upgraded.

> - 1.87 is not widely used anymore, while it was not a major pain point
> to keep it, I would rather spend the time supporting other ruby versions
> (2.1, jruby?) instead.

2.1 can't be supported until we move to Rails 4 anyway IIRC?

> This would allow us to enjoy new rails features (and performance boost),
> start pulling plugins such as foreman-tasks into foreman itself etc.
>
> Any objections?

The biggest issue is probably Ubuntu 12.04 support, which uses 1.8.7 (I
erroneously said in the last thread it used 1.9.3). This will need to
move to a different set of packages, e.g Brightbox, which Greg has said
he's considering, but it's going to be a reasonable amount of packaging
and installer work IMHO. This will need completing before it can be
dropped.

Debian 6 (squeeze) is already being dropped from 1.7, so won't be an issue.

I'm not really in favour of dropping it until we move to Rails 4, I
don't think the problems at the moment are particularly severe. However
if people work on removing the OS support obstacle(s), then it's fine by me.

··· On 20/08/14 09:52, Ohad Levy wrote:


Dominic Cleal
Red Hat Engineering

> > Hi,
> >
> > I would like to suggest that 1.6.x would be the last stable release of
> > foreman supporting ruby 1.87 (only foreman, not the proxy, installer
> > etc), main reasons are:
> >
> > - It is hard to use 3rd party library as 1.87 is not supported by most
> > gem authors.
> > - unable to upgrade to rails 4.x.
>
> Last time a few of us discussed this ("Statement on Ruby 1.8 support"),
> we said we would drop it when we upgraded.
>

OK, I was assuming / hoping we want to upgrade for 1.7.

>
> > - 1.87 is not widely used anymore, while it was not a major pain point
> > to keep it, I would rather spend the time supporting other ruby versions
> > (2.1, jruby?) instead.
>
> 2.1 can't be supported until we move to Rails 4 anyway IIRC?
>
nope, I'm using it for my personal dev env.

>
> > This would allow us to enjoy new rails features (and performance boost),
> > start pulling plugins such as foreman-tasks into foreman itself etc.
> >
> > Any objections?
>
> The biggest issue is probably Ubuntu 12.04 support, which uses 1.8.7 (I
> erroneously said in the last thread it used 1.9.3). This will need to
> move to a different set of packages, e.g Brightbox, which Greg has said
> he's considering, but it's going to be a reasonable amount of packaging
> and installer work IMHO. This will need completing before it can be
> dropped.
>
> dont we have ruby19 packages on ubuntu too? since we vendor the gems I'm
not sure I understand the main difference ?

··· On Wed, Aug 20, 2014 at 12:01 PM, Dominic Cleal wrote: > On 20/08/14 09:52, Ohad Levy wrote:

Debian 6 (squeeze) is already being dropped from 1.7, so won’t be an issue.

I’m not really in favour of dropping it until we move to Rails 4, I
don’t think the problems at the moment are particularly severe. However
if people work on removing the OS support obstacle(s), then it’s fine by
me.


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/d/optout.

> > - 1.87 is not widely used anymore, while it was not a major pain point
> > to keep it, I would rather spend the time supporting other ruby versions
> > (2.1, jruby?) instead.

Taking RHEL7 into account, I'd try to stick with Ruby 2.0 as much as
possible. I mean, this could be the decent minimal supported version.

··· -- Later, Lukas #lzap Zapletal

Would it be a big problem to drop Ubuntu 12.04 for 1.7 as officially
supported platform as well? Since Ubuntu 14.04.1 is out, there is a
solid replacement. Unofficially users could continue using it in
combination with brightbox or similar, but those packages would not be
built by the project.

··· On Wed, Aug 20, 2014 at 10:01:31AM +0100, Dominic Cleal wrote: > On 20/08/14 09:52, Ohad Levy wrote: > > Hi, > > > > I would like to suggest that 1.6.x would be the last stable release of > > foreman supporting ruby 1.87 (only foreman, not the proxy, installer > > etc), main reasons are: > > > > - It is hard to use 3rd party library as 1.87 is not supported by most > > gem authors. > > - unable to upgrade to rails 4.x. > > Last time a few of us discussed this ("Statement on Ruby 1.8 support"), > we said we would drop it when we upgraded. > > > - 1.87 is not widely used anymore, while it was not a major pain point > > to keep it, I would rather spend the time supporting other ruby versions > > (2.1, jruby?) instead. > > 2.1 can't be supported until we move to Rails 4 anyway IIRC? > > > This would allow us to enjoy new rails features (and performance boost), > > start pulling plugins such as foreman-tasks into foreman itself etc. > > > > Any objections? > > The biggest issue is probably Ubuntu 12.04 support, which uses 1.8.7 (I > erroneously said in the last thread it used 1.9.3). This will need to > move to a different set of packages, e.g Brightbox, which Greg has said > he's considering, but it's going to be a reasonable amount of packaging > and installer work IMHO. This will need completing before it can be > dropped. > > Debian 6 (squeeze) is already being dropped from 1.7, so won't be an issue. > > I'm not really in favour of dropping it until we move to Rails 4, I > don't think the problems at the moment are particularly severe. However > if people work on removing the OS support obstacle(s), then it's fine by me.

>
>
>
>
> > Hi,
> >
> > I would like to suggest that 1.6.x would be the last stable release of
> > foreman supporting ruby 1.87 (only foreman, not the proxy, installer
> > etc), main reasons are:
> >
> > - It is hard to use 3rd party library as 1.87 is not supported by most
> > gem authors.
> > - unable to upgrade to rails 4.x.
>
> Last time a few of us discussed this ("Statement on Ruby 1.8 support"),
> we said we would drop it when we upgraded.
>
>
> OK, I was assuming / hoping we want to upgrade for 1.7.

That's quite an assumption! It's possible, but we have a number of SCL
and packaging things to solve before then, it would be good to know if
we need to begin working through this.

> > - 1.87 is not widely used anymore, while it was not a major pain point
> > to keep it, I would rather spend the time supporting other ruby
> versions
> > (2.1, jruby?) instead.
>
> 2.1 can't be supported until we move to Rails 4 anyway IIRC?
>
> nope, I'm using it for my personal dev env.

Ok, then please add it to the test matrix and send patches if required.

>
> > This would allow us to enjoy new rails features (and performance
> boost),
> > start pulling plugins such as foreman-tasks into foreman itself etc.
> >
> > Any objections?
>
> The biggest issue is probably Ubuntu 12.04 support, which uses 1.8.7 (I
> erroneously said in the last thread it used 1.9.3). This will need to
> move to a different set of packages, e.g Brightbox, which Greg has said
> he's considering, but it's going to be a reasonable amount of packaging
> and installer work IMHO. This will need completing before it can be
> dropped.
>
> dont we have ruby19 packages on ubuntu too? since we vendor the gems I'm
> not sure I understand the main difference ?

It's Ruby 1.9.3p0, which is unsupported by Puppet and generally a very
bad idea. If we decided to run on the p0, then we'd also need Passenger
4 to keep Puppet running on 1.8.7.

··· On 20/08/14 10:06, Ohad Levy wrote: > On Wed, Aug 20, 2014 at 12:01 PM, Dominic Cleal > wrote: > On 20/08/14 09:52, Ohad Levy wrote:


Dominic Cleal
Red Hat Engineering

Agreed, -p0 is bad. Passenger 4 would be more work than using the
Brightbox PPA, I suspect, but either way I'm going to need some time
to test the changes. Wheezy and Trusty already default to 1.9, so that
should be fine.

Overall, I'm +1 for dropping 1.8.7, but as Dominic says, we need to
build in some time in the timeline to make sure it works right.

··· On 20 August 2014 10:13, Dominic Cleal wrote: >> dont we have ruby19 packages on ubuntu too? since we vendor the gems I'm >> not sure I understand the main difference ? > > It's Ruby 1.9.3p0, which is unsupported by Puppet and generally a very > bad idea. If we decided to run on the p0, then we'd also need Passenger > 4 to keep Puppet running on 1.8.7.

If we upgraded to Rails 4.0, we would need to keep Ruby 2.0 support as
well, because the ror40 SCL is built atop the ruby200 SCL. Looking at
Fedora 21, Rails 4.1 is likely to use Ruby 2.1.

I don't think anybody is proposing moving to 2.0 as a minimum version,
as we have various 1.9 based OSes.

··· On 20/08/14 12:16, Lukas Zapletal wrote: >>> - 1.87 is not widely used anymore, while it was not a major pain point >>> to keep it, I would rather spend the time supporting other ruby versions >>> (2.1, jruby?) instead. > > Taking RHEL7 into account, I'd try to stick with Ruby 2.0 as much as > possible. I mean, this could be the decent minimal supported version.


Dominic Cleal
Red Hat Engineering

Agreed, thats why I suggest it now (before we released 1.6 :).

Dominic, I wasn't sure if you are objecting or not to target it for 1.7? I
would be in favor of breaking it to smaller tasks, which could give us
foreman-tasks, async api, task based actions etc, even prior of upgrading
to rails4.

Ohad

··· On Wed, Aug 20, 2014 at 12:19 PM, Greg Sutcliffe wrote:

On 20 August 2014 10:13, Dominic Cleal dcleal+g@redhat.com wrote:

dont we have ruby19 packages on ubuntu too? since we vendor the gems I’m
not sure I understand the main difference ?

It’s Ruby 1.9.3p0, which is unsupported by Puppet and generally a very
bad idea. If we decided to run on the p0, then we’d also need Passenger
4 to keep Puppet running on 1.8.7.

Agreed, -p0 is bad. Passenger 4 would be more work than using the
Brightbox PPA, I suspect, but either way I’m going to need some time
to test the changes. Wheezy and Trusty already default to 1.9, so that
should be fine.

Overall, I’m +1 for dropping 1.8.7, but as Dominic says, we need to
build in some time in the timeline to make sure it works right.

Agreed. Ruby 2.0 is not the default in any of the Deb OSs I package,
so that's just not going to happen.

··· On 20 August 2014 12:20, Dominic Cleal wrote: > I don't think anybody is proposing moving to 2.0 as a minimum version, > as we have various 1.9 based OSes.

That doesn't mean people have upgraded - 14.04 has only been out a
month or two, and enterprises don't move fast. We certainly still get
a lof of 12.04 downloads in our deb.tf.o apache logs. Ideally I'd like
to support 12.04 for as long as it's supported upstream, or at least
until the logs show it becoming a small percentage of our downloads.

Greg

··· On 20 August 2014 14:13, Ewoud Kohl van Wijngaarden wrote: > Would it be a big problem to drop Ubuntu 12.04 for 1.7 as officially > supported platform as well? Since Ubuntu 14.04.1 is out, there is a > solid replacement. Unofficially users could continue using it in > combination with brightbox or similar, but those packages would not be > built by the project.

But 1.7 is a couple of months away and 1.6 can stay supported for a
while. I don't know if any big features are planned for 1.7, but maybe
security updates for 1.6 could suffice for 12.04 users.

··· On Wed, Aug 20, 2014 at 02:49:31PM +0100, Greg Sutcliffe wrote: > On 20 August 2014 14:13, Ewoud Kohl van Wijngaarden > wrote: > > Would it be a big problem to drop Ubuntu 12.04 for 1.7 as officially > > supported platform as well? Since Ubuntu 14.04.1 is out, there is a > > solid replacement. Unofficially users could continue using it in > > combination with brightbox or similar, but those packages would not be > > built by the project. > > That doesn't mean people have upgraded - 14.04 has only been out a > month or two, and enterprises don't move fast. We certainly still get > a lof of 12.04 downloads in our deb.tf.o apache logs. Ideally I'd like > to support 12.04 for as long as it's supported upstream, or at least > until the logs show it becoming a small percentage of our downloads.

> I don't think anybody is proposing moving to 2.0 as a minimum version,
> as we have various 1.9 based OSes.

What I meant was if we upgrade, I'd rather go for 2.0 and not 2.1.

LZ

··· -- Later, Lukas #lzap Zapletal

1.7 is probably doable for both Rails 4 and dropping 1.8.7 if we plan
through the packaging changes and begin now, both in SCLs and 12.04.

I was saying I'd prefer not to drop it now, unless we do wish to move to
Rails 4 in the same release.

··· On 20/08/14 11:01, Ohad Levy wrote: > Dominic, I wasn't sure if you are objecting or not to target it for 1.7? > I would be in favor of breaking it to smaller tasks, which could give > us foreman-tasks, async api, task based actions etc, even prior of > upgrading to rails4.


Dominic Cleal
Red Hat Engineering

> > > Would it be a big problem to drop Ubuntu 12.04 for 1.7 as officially
> > > supported platform as well? Since Ubuntu 14.04.1 is out, there is a
> > > solid replacement. Unofficially users could continue using it in
> > > combination with brightbox or similar, but those packages would not be
> > > built by the project.
> >
> > That doesn't mean people have upgraded - 14.04 has only been out a
> > month or two, and enterprises don't move fast. We certainly still get
> > a lof of 12.04 downloads in our deb.tf.o apache logs. Ideally I'd like
> > to support 12.04 for as long as it's supported upstream, or at least
> > until the logs show it becoming a small percentage of our downloads.
>
> But 1.7 is a couple of months away and 1.6 can stay supported for a
> while. I don't know if any big features are planned for 1.7, but maybe
> security updates for 1.6 could suffice for 12.04 users.

This sounds like a good plan to very politely suggest the users that
they should consider migrating to Ruby 1.9.3+. Otherwise, we might end
up in a cycle where users don't want to upgrade because they have no
reason to do that and devs don't want to upgrade because the users are still
using it. Also, officially saying 1.7 would not run on 1.8.7 anymore might
encourage the Ubuntu part of the community to make sure they will have
the dependencies there.

– Ivan

··· ----- Original Message ----- > On Wed, Aug 20, 2014 at 02:49:31PM +0100, Greg Sutcliffe wrote: > > On 20 August 2014 14:13, Ewoud Kohl van Wijngaarden > > 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/d/optout.

I've entered some high level issues into Redmine to cover the anticipated changes.

First, drop Ruby 1.8 support:
http://projects.theforeman.org/issues/4656 - drop 1.8 tracker http://projects.theforeman.org/issues/7227 - Ubuntu 12.04/Brightbox http://projects.theforeman.org/issues/7233 - remove 1.8 support

Then work on Rails 4.0:
http://projects.theforeman.org/issues/3157 - Rails 4.0 tracker http://projects.theforeman.org/issues/7234 - SCL 1.1 builds required http://projects.theforeman.org/issues/4841 - move Foreman to own SCL http://projects.theforeman.org/issues/7230 - upgrade core to Rails 4.0 http://projects.theforeman.org/issues/7228 - rebuild under ror40 SCL

Then move from Fedora 19 to 20:
http://projects.theforeman.org/issues/7229 - Fedora 20 tracker http://projects.theforeman.org/issues/7231 - package builds http://projects.theforeman.org/issues/7232 - installer support

If we want to do this for Foreman 1.7, we need to complete #7234 and make progress on #7227 in this next sprint IMO, then begin on #4841.


··· On 20/08/14 11:22, Dominic Cleal wrote:

On 20/08/14 11:01, Ohad Levy wrote:
Dominic, I wasn't sure if you are objecting or not to target it for 1.7?
I would be in favor of breaking it to smaller tasks, which could give
us foreman-tasks, async api, task based actions etc, even prior of
upgrading to rails4.

1.7 is probably doable for both Rails 4 and dropping 1.8.7 if we plan
through the packaging changes and begin now, both in SCLs and 12.04.
--
Dominic Cleal
Red Hat Engineering

Considering Ruby 1.8.7 has reached EOL on July 31 (https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/) and is no longer maintained, I think giving users a few months of advance notice of the upgrade is only fair, and maybe will push them to upgrade their old, potentialy unsecure, servers on the way.

··· ----- Original Message ----- From: "Ivan Necas" To: foreman-dev@googlegroups.com Sent: Thursday, August 21, 2014 10:29:35 AM Subject: Re: [foreman-dev] Dropping ruby 1.87 support

----- Original Message -----

On Wed, Aug 20, 2014 at 02:49:31PM +0100, Greg Sutcliffe wrote:

On 20 August 2014 14:13, Ewoud Kohl van Wijngaarden > > ewoud@kohlvanwijngaarden.nl wrote:

Would it be a big problem to drop Ubuntu 12.04 for 1.7 as officially
supported platform as well? Since Ubuntu 14.04.1 is out, there is a
solid replacement. Unofficially users could continue using it in
combination with brightbox or similar, but those packages would not be
built by the project.

That doesn’t mean people have upgraded - 14.04 has only been out a
month or two, and enterprises don’t move fast. We certainly still get
a lof of 12.04 downloads in our deb.tf.o apache logs. Ideally I’d like
to support 12.04 for as long as it’s supported upstream, or at least
until the logs show it becoming a small percentage of our downloads.

But 1.7 is a couple of months away and 1.6 can stay supported for a
while. I don’t know if any big features are planned for 1.7, but maybe
security updates for 1.6 could suffice for 12.04 users.

This sounds like a good plan to very politely suggest the users that
they should consider migrating to Ruby 1.9.3+. Otherwise, we might end
up in a cycle where users don’t want to upgrade because they have no
reason to do that and devs don’t want to upgrade because the users are still
using it. Also, officially saying 1.7 would not run on 1.8.7 anymore might
encourage the Ubuntu part of the community to make sure they will have
the dependencies there.

– Ivan


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/d/optout.


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/d/optout.

https://github.com/theforeman/theforeman.org/pull/254 adds a somewhat
vague warning to the release notes in light of this discussion.

··· On 22/08/14 11:59, Dominic Cleal wrote: > On 20/08/14 11:22, Dominic Cleal wrote: >> > On 20/08/14 11:01, Ohad Levy wrote: >>> >> Dominic, I wasn't sure if you are objecting or not to target it for 1.7? >>> >> I would be in favor of breaking it to smaller tasks, which could give >>> >> us foreman-tasks, async api, task based actions etc, even prior of >>> >> upgrading to rails4. >> > >> > 1.7 is probably doable for both Rails 4 and dropping 1.8.7 if we plan >> > through the packaging changes and begin now, both in SCLs and 12.04. > I've entered some high level issues into Redmine to cover the > anticipated changes. > > First, drop Ruby 1.8 support: > http://projects.theforeman.org/issues/4656 - drop 1.8 tracker > http://projects.theforeman.org/issues/7227 - Ubuntu 12.04/Brightbox > http://projects.theforeman.org/issues/7233 - remove 1.8 support


Dominic Cleal
Red Hat Engineering

Distributions will continue to maintain packages for years with
security support. The issue under discussion is with distribution
packages, so suggestions that people should upgrade these are fairly
invalid.

··· On 21/08/14 08:40, Tomer Brisker wrote: > Considering Ruby 1.8.7 has reached EOL on July 31 (https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/) and is no longer maintained, I think giving users a few months of advance notice of the upgrade is only fair, and maybe will push them to upgrade their old, potentialy unsecure, servers on the way.


Dominic Cleal
Red Hat Engineering