Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider moving from Centos7 to RHEL8 for 18.x #2741

Closed
AshCripps opened this issue Sep 1, 2021 · 11 comments
Closed

Consider moving from Centos7 to RHEL8 for 18.x #2741

AshCripps opened this issue Sep 1, 2021 · 11 comments

Comments

@AshCripps
Copy link
Member

Whilst looking at #2740 ive discovered that Centos7 goes EOL by the end of 18.x, so we should consider moving off of centos7 before 18.x is cut next year.

A suitable option would be to upgrade to RHEL8 - Red Hat is providing a scheme for open source communities to gain free access to RHEL subscriptions but wanted to pose the question to the wider group to see if anyone had any objections?

cc @nodejs/build

@richardlau
Copy link
Member

@AshCripps I don’t think we have enough ppc Linux hosts for both CentOS7 (existing workloads) and the next (e.g. RHEL8).

@AshCripps
Copy link
Member Author

we are nowhere near our capacity for ppc linux machines atm (provided we are allowed to use everything given to us)

@mhdawson
Copy link
Member

mhdawson commented Sep 1, 2021

Confirming @AshCripps assessment that we should have no problem adding more ppc machines. We should look at the same for other architectures as well.

Either way I think it's something we have to figure out as I don't think we want to be building on an EOL Operating system. One of the main concerns is that it will main an increase in the minimum glibc levels...

@richardlau
Copy link
Member

One thing we'd need to check for the x64 platforms is what is offered on the various cloud providers and if RHEL 8 is an out of the box offering (i.e. existing selectable image).

@richardlau
Copy link
Member

richardlau commented Sep 2, 2021

Provider RHEL 8 image available
DigitalOcean No
IBM Cloud Yes ( * Redhat / EL / 8.0-64 Minimal for VSI)
RackSpace No

DigitalOcean

image

IBM Cloud

image

RackSpace

image

@richardlau
Copy link
Member

So it looks like currently only IBM offer an OOTB RHEL image (of any version). On DigitalOcean we can use custom images but that's going to be some work to set up. Or we run RHEL in a container via Docker under a different host OS.

@AshCripps
Copy link
Member Author

I assume all the other OS are free version? RHEL probably doesnt show up as it requires a subscription

@richardlau
Copy link
Member

I've started adding RHEL8 s390x (LinuxONE) in #2859.

I've also requested a no-cost RHEL subscription under the Red Hat for Open Source Infrastructure program. We've had a positive response and this is in progress -- I was asked to create a Red Hat account to attach the entitlements to and I have created the account (details in the secrets repo) and am waiting for the entitlements.

richardlau added a commit that referenced this issue Mar 1, 2022
Extend Ansible and Jenkins scripts for Red Hat Enterprise Linux 8.
Also add new `release-builder` role, for setting up ssh config and
keys to upload to the staging server, and changes to make the
playbook idempotent.

Refs: #2741
Refs: #2815
@richardlau
Copy link
Member

As a follow up, we do have a RHEL subscription now -- details are in the secrets repository.

The LinuxONE machines have been added and running now with nightly binaries for master now being built on RHEL 8.

I've added (well mainly repurposed some obsolete CentOS 6 instances) some x64 RHEL8 instances at IBM Cloud -- the plan is to add/repurpose more at Digital Ocean/RackSpace but there is more work to be done there as we'll need to either roll our own images or potentially containerize.

richardlau added a commit that referenced this issue Mar 8, 2022
Add RHEL 8 x64 instances, including repurposing some obsolete CentOS 6
instances which are no longer used by any CI jobs.

Add:
- release-digitalocean-rhel8-x64-1
- release-ibm-rhel8-x64-1
- release-ibm-rhel8-x64-2
- test-digitalocean-rhel8-x64-1
- test-ibm-rhel8-x64-1
- test-ibm-rhel8-x64-2
- test-ibm-rhel8-x64-3

Remove:
- release-digitalocean-centos6-x86-1
- release-softlayer-centos6-x64-1
- test-digitalocean-ubuntu1404-x86-1
- test-softlayer-centos6-x64-1
- test-softlayer-centos6-x64-2

Refs: #2741
Refs: #2815
richardlau added a commit that referenced this issue Mar 10, 2022
Add new ppc64le RHEL 8 instances. Repurpose test-osuosl-centos7-ppc64_le-4
as an additional RHEL 8 instance.

Also ensure time synchronization via `chrony` on RHEL 8, and add a handler
to run when packages are updated to sync with Red Hat Subscription Manager.

Refs: #2741
Refs: #2815
@richardlau
Copy link
Member

richardlau commented Mar 10, 2022

We now have RHEL 8.5 instances set up at the following providers:

  • Digital Ocean, x64. via an uploaded custom image [1].
  • IBM Cloud, x64.
  • marist, s390x.
  • OSUOSL, Linux ppc64le. via an uploaded custom image [1].

[1] Red Hat provide a QCOW2 format "Red Hat Enterprise Linux 8.5 Update KVM Guest Image" which Digital Ocean and the OpenStack instance at OSUOSL accept as a custom image that we can use to provision.

RackSpace needs a bit more work -- we'd need to convert the image into another format.

The remaining CentOS 7 in the release CI is for arm64. I've had discussions with Equinix and have sent an email re. the current situation about getting an additional arm64 release machine to the build email address.

@richardlau
Copy link
Member

We've moved everything that was building on CentOS 7 to RHEL 8 for Node.js 18.

nodejs-github-bot pushed a commit to nodejs/node that referenced this issue Apr 13, 2022
Starting with Node.js 18 we have moved building the release binaries
from being built on CentOS 7/RHEL 7 to being built on RHEL 8 as the
End-of-Life date of CentOS 7/RHEL 7 is before the End-of-Life date
of Node.js 18 and we do not want to have to make a disruptive change
towards the end of Node.js 18's life cycle.

Moving to RHEL 8 has raised the glibc version being linked against
(2.28). The official Node.js Linux release binaries will only run on
Linux distributions with a matching or higher version of glibc.

PR-URL: #42659
Refs: nodejs/build#2815
Refs: nodejs/build#2741
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Stewart X Addison <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
vmoroz pushed a commit to vmoroz/node that referenced this issue Apr 13, 2022
Starting with Node.js 18 we have moved building the release binaries
from being built on CentOS 7/RHEL 7 to being built on RHEL 8 as the
End-of-Life date of CentOS 7/RHEL 7 is before the End-of-Life date
of Node.js 18 and we do not want to have to make a disruptive change
towards the end of Node.js 18's life cycle.

Moving to RHEL 8 has raised the glibc version being linked against
(2.28). The official Node.js Linux release binaries will only run on
Linux distributions with a matching or higher version of glibc.

PR-URL: nodejs#42659
Refs: nodejs/build#2815
Refs: nodejs/build#2741
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Stewart X Addison <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
xtx1130 pushed a commit to xtx1130/node that referenced this issue Apr 25, 2022
Starting with Node.js 18 we have moved building the release binaries
from being built on CentOS 7/RHEL 7 to being built on RHEL 8 as the
End-of-Life date of CentOS 7/RHEL 7 is before the End-of-Life date
of Node.js 18 and we do not want to have to make a disruptive change
towards the end of Node.js 18's life cycle.

Moving to RHEL 8 has raised the glibc version being linked against
(2.28). The official Node.js Linux release binaries will only run on
Linux distributions with a matching or higher version of glibc.

PR-URL: nodejs#42659
Refs: nodejs/build#2815
Refs: nodejs/build#2741
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Stewart X Addison <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants