[BlueOnyx:22498] Re: RHEL 8 Beta is out - BlueOnyx 5210R development starts

Michael Stauber mstauber at blueonyx.it
Thu Nov 15 21:36:38 -05 2018

Hi Ernie,

> for for those that are keen, Redhat just announced the RHEL 8 Beta
> https://developers.redhat.com/rhel8/

Thank you. I've grabbed the ISO of it and will start some preliminary
development work for 5210R on it within the close future.

> Not sure what impact it will have on BX or how long before CentOS has it.

I have no solid idea when the beta ends and when we can expect to see
the first releases of RHEL 8 and CentOS 8 respectively. But I guess it
might be a couple of months. Like sometime in Q1 of 2019. We'll see.

I poked a bit around in the RHEL-8-beta ISO to get an idea what we can
expect. Here are some ballpark figures:

- Kernel 4.18
- Perl 5.26.4
- PHP 7.1.20 and PHP-7.2.11 (the ISO has both)
- Apache 2.8.0
- Nginx 1.14.0
- Sendmail 8.15.2
- Dovecot 2.2.36
- MariaDB 10.3.10
- OpenSSL 1.1.1
- OpenSSH 7.8p1
- Systemd 239-8
- Python 2.7.15 plus Python 3.6.6
- RPM 4.14.2
- Glibc 2.28
- Glib2 2.56
- Java 1.8.0

As for the impact on BlueOnyx? I had already set the model number 5210R
aside for it and had done some preliminary checks of what would be
needed to port the GUI to any newer version of PHP.

Right now the core of the GUI (base-alpine) uses CodeIgniter v2.2.6
(which is EOL) and for 5210R we certainly want to use a newer version.
Such as the stable v3.1.9, which also supports PHP-7.1 and PHP-7.2 out
of the box.

But the fun starts right there:

Every GUI page is a CodeIgniter PHP class. PHP class names must start
with a capitalized character. Example: "TestClass" is fine, but
"testClass" is not. We already honored this religiously throughout the GUI.

Since CodeIgniter 3.0.0 the file names for these classes also *must*
have their leading character capitalized. Which we have not. A handfull
of Classes under /usr/sausalito/ui/ci/application/libraries/ and *all*
classes under /usr/sausalito/ui/ci/application/modules/ don't follow the
new mandatory naming conventions.

That means all of these must be renamed (and the CI routing tables must
be updated) and it must be checked that filename and classname are
identical both in name and capitalization.

That's around 250-300 PHP classes that need fixing right off the bat.

Plus there will be several things that changed behavior between PHP
versions and we're moving right from PHP-5.4.16 to PHP-7.2.11. That's
the biggest PHP version gap BlueOnyx *ever* had to bridge: We're moving
five *major* versions of PHP ahead in one go.

It's not *that* bad (I hope), as a lot of the heavy lifting of the GUI
is done by CodeIgniter itself or had been externalized into shared
libraries and PHP Classes that are re-used throughout the GUI. Still: I
expect to run into some unexpected glitches that need a fixing.

The next couple of challenges are adjusting the GUI to the updated
services. Like from Apache 2.4 to 2.8. Nginx is no surprise and we've
already go the same version on 5209R that RedHat brings in RHEL8.
Sendmail? Trivial changes. Dovecot? Good to go w/o changes. FTP? We
bring our own, so no surprises either. Making these adjustments should
be fairly quick, with the new Apache being the only real complication.

We'll drop Apache Tomcat in 5210R, though. It already doesn't work right
in 5209R and dragging that dead carcass over to 5210R makes no sense.

I think that by the end of this year or more probably in January 2019
I'll have a draft of 5210R ready that can quickly be adjusted to
whatever slightly modified realities we'll find once CentOS 8 is
officially out.

I'll get it covered.

FWIW: By that time I also hope to have "EasyMigrate" ready, so moving
from 5207R/5208R/5209R to 5210R should be easier and more comfortable
than doing it with CMU.

With best regards

Michael Stauber

More information about the Blueonyx mailing list