Dropping Ruby 2.0 support in 1.16?

Hello,

Ruby 2.0 has been EOL'ed over a year ago. More and more of our dependent
libraries are dropping support for it, which means that we are either stuck
with older versions or need to fix support in those libraries which may or
may not be interested in it. This also prevents us from leveraging newer
features and simplifying our CI pipeline.

Currently AFAIK the only supported distro that requires it is Ubuntu 14.04,
as we can use SCL to get a newer version on RH-based distros. Ubuntu 16.04
has already been out for a year and ships with ruby 2.3. Debian Jessie
ships with Ruby 2.1 which we will have to support for a while more as there
is no way to easily upgrade the system ruby there.

What do people think about dropping it in 1.16? This will still give people
enough time to upgrade their systems as 1.15 will still be supported for
the next 6 months.

There is already a tracker on Redmine [1] to track various related issues.

[1] Tracker #15954: Drop Ruby 2.0 support - Foreman

··· -- Have a nice day, Tomer Brisker Red Hat Engineering

> > What do people think about dropping it in 1.16? This will still give
> people
> > enough time to upgrade their systems as 1.15 will still be supported for
> > the next 6 months.
>
> Would you drop it for both Foreman and Smart Proxy or just Foreman?
>

Similarly, are you talking just the server and not the installer portion of
our stack? Given EL7 comes with Ruby 2.0 by default and the installer is
not SCL'd (same for the smart proxy).

Eric

··· On Wed, May 17, 2017 at 8:19 AM, Ewoud Kohl van Wijngaarden < ewoud@kohlvanwijngaarden.nl> wrote: > On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker 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.


Eric D. Helms
Red Hat Engineering

Would you drop it for both Foreman and Smart Proxy or just Foreman?

··· On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker wrote: > What do people think about dropping it in 1.16? This will still give people > enough time to upgrade their systems as 1.15 will still be supported for > the next 6 months.

Tomer Brisker <tbrisker@redhat.com> writes:

> Hello,
>
> Ruby 2.0 has been EOL'ed over a year ago. More and more of our dependent
> libraries are dropping support for it, which means that we are either stuck
> with older versions or need to fix support in those libraries which may or
> may not be interested in it. This also prevents us from leveraging newer
> features and simplifying our CI pipeline.
>
> Currently AFAIK the only supported distro that requires it is Ubuntu 14.04,
> as we can use SCL to get a newer version on RH-based distros. Ubuntu 16.04
> has already been out for a year and ships with ruby 2.3. Debian Jessie
> ships with Ruby 2.1 which we will have to support for a while more as there
> is no way to easily upgrade the system ruby there.
>
> What do people think about dropping it in 1.16? This will still give people
> enough time to upgrade their systems as 1.15 will still be supported for
> the next 6 months.

+1 for dropping in Foreman Rails

Btw. the tracker seems like a good thing to have to see all the related
issues to different Ruby versions, created similar one for 2.1, as there
are some deps already that require 2.2 at least:
http://projects.theforeman.org/issues/19577

– Ivan

··· > > There is already a tracker on Redmine [1] to track various related issues. > > [1] http://projects.theforeman.org/issues/15954 > > -- > Have a nice day, > Tomer Brisker > 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.

Hi,

As a first step, I think about dropping it in Foreman core and its plugins,
since those have the largest dependencies and would be easiest to achieve.
I would be happy to also drop it in the proxy and the installer, but as
Eric mentioned, that would be more complex as we don't SCL those yet, so we
would also be blocked by EL7 there.

Going forward, would we be able to use SCL for the proxy and installer?
While it might still be feasible to support Ruby 2.0 for them right now,
eventually we will have no choice but figuring some way to solve it as EL7
isn't going anywhere soon.
Is there some similar solution we can find for Debian so we don't hit the
same issue when we want to drop 2.1 eventually while still supporting
Jessie?

··· On Wed, May 17, 2017 at 3:43 PM, Eric D Helms wrote:

On Wed, May 17, 2017 at 8:19 AM, Ewoud Kohl van Wijngaarden < > ewoud@kohlvanwijngaarden.nl> wrote:

On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker wrote:

What do people think about dropping it in 1.16? This will still give
people
enough time to upgrade their systems as 1.15 will still be supported for
the next 6 months.

Would you drop it for both Foreman and Smart Proxy or just Foreman?

Similarly, are you talking just the server and not the installer portion
of our stack? Given EL7 comes with Ruby 2.0 by default and the installer is
not SCL’d (same for the smart proxy).

Eric


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.


Eric D. Helms
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.


Have a nice day,
Tomer Brisker
Red Hat Engineering

Hi,

··· On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker wrote: > What do people think about dropping it in 1.16? This will still give people > enough time to upgrade their systems as 1.15 will still be supported for > the next 6 months.

+1 on dropping 2.0 support for Foreman core.

Michael Moll

Hi,

··· On Wed, May 17, 2017 at 04:11:31PM +0300, Tomer Brisker wrote: > Is there some similar solution we can find for Debian so we don't hit the > same issue when we want to drop 2.1 eventually while still supporting > Jessie?

I can’t think of a solution that’s maintainable without requiring a huge
amount of time (that we can’t provide), so let’s simply postpone the question
of dropping Debian/jessie when it’s time to desupport Ruby 2.1.

Michael Moll

For the installer, we're going to be in the same painful situation as
we were with 1.8.7. EL7 still
has quite a few years left, what are the chances to get it inside SCL
or (urgh) fully into Puppet
AIO ruby environment?

··· On Wed, May 17, 2017 at 10:45 AM, Michael Moll wrote: > Hi, > > On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker wrote: >> What do people think about dropping it in 1.16? This will still give people >> enough time to upgrade their systems as 1.15 will still be supported for >> the next 6 months. > > +1 on dropping 2.0 support for Foreman core. > --

I agree. It's very likely that Strech will be out when 1.16 is released
and that ships 2.3. Once Strech is out we can start to consider dropping
Jessie for new releases.

··· On Wed, May 17, 2017 at 04:47:46PM +0200, Michael Moll wrote: > Hi, > > On Wed, May 17, 2017 at 04:11:31PM +0300, Tomer Brisker wrote: > > Is there some similar solution we can find for Debian so we don't hit the > > same issue when we want to drop 2.1 eventually while still supporting > > Jessie? > > I can't think of a solution that's maintainable without requiring a huge > amount of time (that we can't provide), so let's simply postpone the question > of dropping Debian/jessie when it's time to desupport Ruby 2.1.

Given we no longer directly interface with puppet code I don't think we
need to move into the Puppet AIO env. I'd also like to avoid that. I'm
also not sure how many changes we'll have to make to keep it running on
2.0 but others will have more insight into that.

··· On Thu, May 18, 2017 at 10:57:03AM -0400, Stephen Benjamin wrote: > On Wed, May 17, 2017 at 10:45 AM, Michael Moll wrote: > > Hi, > > > > On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker wrote: > >> What do people think about dropping it in 1.16? This will still give people > >> enough time to upgrade their systems as 1.15 will still be supported for > >> the next 6 months. > > > > +1 on dropping 2.0 support for Foreman core. > > -- > > For the installer, we're going to be in the same painful situation as > we were with 1.8.7. EL7 still has quite a few years left, what are the > chances to get it inside SCL or (urgh) fully into Puppet AIO ruby > environment?

Considering no objections were raised, as a first step I have opened a PR
to disable Ruby 2.0 tests for core & plugins:
https://github.com/theforeman/foreman-infra/pull/296

I believe that 1.16 should require 2.1 at least, and I hope that we could
figure out a way to get 1.17 to only support ruby 2.2.2 or newer so that we
can upgrade to rails 5.

··· On Thu, May 18, 2017 at 6:15 PM, Ewoud Kohl van Wijngaarden < ewoud@kohlvanwijngaarden.nl> wrote:

On Thu, May 18, 2017 at 10:57:03AM -0400, Stephen Benjamin wrote:

On Wed, May 17, 2017 at 10:45 AM, Michael Moll kvedulv@kvedulv.de > wrote:

Hi,

On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker wrote:

What do people think about dropping it in 1.16? This will still give
people

enough time to upgrade their systems as 1.15 will still be supported
for

the next 6 months.

+1 on dropping 2.0 support for Foreman core.

For the installer, we’re going to be in the same painful situation as
we were with 1.8.7. EL7 still has quite a few years left, what are the
chances to get it inside SCL or (urgh) fully into Puppet AIO ruby
environment?

Given we no longer directly interface with puppet code I don’t think we
need to move into the Puppet AIO env. I’d also like to avoid that. I’m
also not sure how many changes we’ll have to make to keep it running on
2.0 but others will have more insight into that.


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.


Have a nice day,
Tomer Brisker
Red Hat Engineering

Hi,

> Considering no objections were raised, as a first step I have opened a PR
> to disable Ruby 2.0 tests for core & plugins:
> https://github.com/theforeman/foreman-infra/pull/296
>
> I believe that 1.16 should require 2.1 at least

+1

> I hope that we could
> figure out a way to get 1.17 to only support ruby 2.2.2 or newer so that we
> can upgrade to rails 5.

Regarding Rails 5, see Ohad's comment about Dominic's PR. I don't think
1.17 is ready to drop support for Ruby 2.1, as Debian 8 (jessie) support
needs to be dropped with it, too. As Debian 9 (stretch) is about to be
released in two weeks, I'd say people need more time migrate (although I
know it's technically fine to release Foreman 1.16 as last release with
support for both Debian releases).

Regards

··· On Thu, Jun 01, 2017 at 01:53:40PM +0300, Tomer Brisker wrote: -- Michael Moll

> Considering no objections were raised, as a first step I have opened a PR
> to disable Ruby 2.0 tests for core & plugins:
> https://github.com/theforeman/foreman-infra/pull/296
>
> I believe that 1.16 should require 2.1 at least, and I hope that we could
> figure out a way to get 1.17 to only support ruby 2.2.2 or newer so that we
> can upgrade to rails 5.
>

Speaking of rails 5, you should be aware that Dominic suggested a PR [1]
that enables both rails 4.2 and 5.0 at the same time based on the ruby
version used, this will allow us to run both 4 and 5 at the same time until
we drop support for older ruby versions.

[1] https://github.com/theforeman/foreman/pull/4422

··· On Thu, Jun 1, 2017 at 1:53 PM, Tomer Brisker wrote:

On Thu, May 18, 2017 at 6:15 PM, Ewoud Kohl van Wijngaarden < > ewoud@kohlvanwijngaarden.nl> wrote:

On Thu, May 18, 2017 at 10:57:03AM -0400, Stephen Benjamin wrote:

On Wed, May 17, 2017 at 10:45 AM, Michael Moll kvedulv@kvedulv.de >> wrote:

Hi,

On Wed, May 17, 2017 at 03:11:12PM +0300, Tomer Brisker wrote:

What do people think about dropping it in 1.16? This will still give
people

enough time to upgrade their systems as 1.15 will still be supported
for

the next 6 months.

+1 on dropping 2.0 support for Foreman core.

For the installer, we’re going to be in the same painful situation as
we were with 1.8.7. EL7 still has quite a few years left, what are the
chances to get it inside SCL or (urgh) fully into Puppet AIO ruby
environment?

Given we no longer directly interface with puppet code I don’t think we
need to move into the Puppet AIO env. I’d also like to avoid that. I’m
also not sure how many changes we’ll have to make to keep it running on
2.0 but others will have more insight into that.


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.


Have a nice day,
Tomer Brisker
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.

> Hi,
>
> > Considering no objections were raised, as a first step I have opened a PR
> > to disable Ruby 2.0 tests for core & plugins:
> > https://github.com/theforeman/foreman-infra/pull/296
> >
> > I believe that 1.16 should require 2.1 at least
>
> +1
>
> > I hope that we could
> > figure out a way to get 1.17 to only support ruby 2.2.2 or newer so that
> we
> > can upgrade to rails 5.
>
> Regarding Rails 5, see Ohad's comment about Dominic's PR. I don't think
> 1.17 is ready to drop support for Ruby 2.1, as Debian 8 (jessie) support
> needs to be dropped with it, too. As Debian 9 (stretch) is about to be
> released in two weeks, I'd say people need more time migrate (although I
> know it's technically fine to release Foreman 1.16 as last release with
> support for both Debian releases).
>

My main concern here is that we would need to support 4.2 and 5 for a long
period of time without using any of the benefits in 5 (more work - less
features), what can be even worse, is that some of the bugs in rails will
be fixed only in 5 and then we would have some inconsistency across
distributions.

How much longer do you think we should announce in advance before
announcing that a given release is the last supported one for a given
distribution?

Ideally, I would like to try and minimize the blocking factors when
releasing a new feature (e.g. a nodejs or ruby version dependent feature).

··· On Thu, Jun 1, 2017 at 2:43 PM, Michael Moll wrote: > On Thu, Jun 01, 2017 at 01:53:40PM +0300, Tomer Brisker wrote:

Regards

Michael Moll


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.

Hi,

> My main concern here is that we would need to support 4.2 and 5 for a long
> period of time without using any of the benefits in 5 (more work - less
> features), what can be even worse, is that some of the bugs in rails will
> be fixed only in 5 and then we would have some inconsistency across
> distributions.

I didn't say it's going to be fun… :wink:

> How much longer do you think we should announce in advance before
> announcing that a given release is the last supported one for a given
> distribution?

Ideally I'd like to see Ruby 2.1 supported until 1.17. While requiring
newer nodejs versions isn't a problem thanks to the nodesource
repositories, there's nothing similar for newer Ruby versions.

However, if Rails 5 is really high priority, yes, then there's no way
around getting rid of Ruby 2.1 after the 1.16 release and we should
announce that as early as possible. I'm just seeing quite some users
stuck with 1.16 on Debian 8 then - like some are still on 1.12/1.13
because of EL6.

Regards

··· On Thu, Jun 01, 2017 at 02:49:12PM +0300, Ohad Levy wrote: -- Michael Moll

Perhaps we could consider giving certain versions longer support cycles
then usual?
Not 2 years, but maybe instead of the usual 6 months make it 9 so that
users stuck because they can't upgrade to e.g. stretch yet won't be stuck
with a completely unmaintained version so quickly? Obviously only
significant bugfixes will be backported during this period, but it would
give our users a bit more time to upgrade their infra.

··· On Thu, Jun 1, 2017 at 3:30 PM, Michael Moll wrote:

Hi,

On Thu, Jun 01, 2017 at 02:49:12PM +0300, Ohad Levy wrote:

My main concern here is that we would need to support 4.2 and 5 for a
long
period of time without using any of the benefits in 5 (more work - less
features), what can be even worse, is that some of the bugs in rails will
be fixed only in 5 and then we would have some inconsistency across
distributions.

I didn’t say it’s going to be fun… :wink:

How much longer do you think we should announce in advance before
announcing that a given release is the last supported one for a given
distribution?

Ideally I’d like to see Ruby 2.1 supported until 1.17. While requiring
newer nodejs versions isn’t a problem thanks to the nodesource
repositories, there’s nothing similar for newer Ruby versions.

However, if Rails 5 is really high priority, yes, then there’s no way
around getting rid of Ruby 2.1 after the 1.16 release and we should
announce that as early as possible. I’m just seeing quite some users
stuck with 1.16 on Debian 8 then - like some are still on 1.12/1.13
because of EL6.

Regards

Michael Moll


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.


Have a nice day,
Tomer Brisker
Red Hat Engineering