From 0518bfc438b85fd70530f8a4e91eecf9a70bfe60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Wed, 18 Dec 2024 11:10:31 +0100 Subject: [PATCH] ansible,jenkins: remove CentOS 7 Refs: https://github.com/nodejs/build/issues/3916 --- ansible/README.md | 3 - ansible/inventory.yml | 2 - ansible/roles/baselayout/tasks/main.yml | 15 +---- .../tasks/partials/repo/centos7.yml | 65 ------------------- ansible/roles/baselayout/vars/main.yml | 14 +--- ansible/roles/gn/vars/main.yml | 1 - ansible/roles/java-base/vars/main.yml | 3 +- .../tasks/partials/tap2junit/centos7.yml | 18 ----- ansible/roles/jenkins-worker/vars/main.yml | 2 +- doc/node-test-commit-matrix.md | 7 +- jenkins/scripts/VersionSelectorScript.groovy | 7 -- jenkins/scripts/select-compiler.sh | 38 ----------- tools/build-p-ssh-hosts.sh | 3 - 13 files changed, 6 insertions(+), 172 deletions(-) delete mode 100644 ansible/roles/baselayout/tasks/partials/repo/centos7.yml delete mode 100644 ansible/roles/jenkins-worker/tasks/partials/tap2junit/centos7.yml diff --git a/ansible/README.md b/ansible/README.md index c30797b94..42c06bcb2 100644 --- a/ansible/README.md +++ b/ansible/README.md @@ -255,15 +255,12 @@ Unsorted stuff of things we need to do/think about - [ ] move all service-related stuff to handlers - [ ] find a nicer way of adding proxyhosts to iptables - [ ] add clang/clang++ symlinks for ccache -- [ ] centos7 needs different ccache path - [ ] debian7 needs to update alternative gcc/g++ - [ ] verify that /usr/local/bin works as ccache install path - [x] remove subversion since v8 tests uses git nowadays - [ ] assign 192/256mb ram to the jenkins instances that requires it: - aix - TBD -- [ ] epel-release for centos - required for centos7 on packet.net arm64 - before ccache can be installed - [x] make .ssh/config and .ssh/id_rsa for release machines, adding config for `node-www` and record host key for node-www - [ ] add explicit ARCH and DESTCPU for release machines (RV: I'm adding diff --git a/ansible/inventory.yml b/ansible/inventory.yml index 418932e28..4db319710 100644 --- a/ansible/inventory.yml +++ b/ansible/inventory.yml @@ -76,7 +76,6 @@ hosts: aix72-ppc64_be-1: ip: 140.211.9.77 server_jobs: 6 - centos7-arm64-1: {ip: 140.211.169.7, server_jobs: 2, user: centos} rhel8-arm64-1: ip: 140.211.169.58 server_jobs: 2 @@ -301,7 +300,6 @@ hosts: server_jobs: 32 - rackspace: - centos7-x64-1: {ip: 119.9.27.82} debian10-x64-1: {ip: 104.239.140.184} debian11-x64-1: {ip: 23.253.109.216, swap_file_size_mb: 4096} debian12-x64-1: {ip: 104.130.124.194, swap_file_size_mb: 4096} diff --git a/ansible/roles/baselayout/tasks/main.yml b/ansible/roles/baselayout/tasks/main.yml index 20602b3db..4f333f247 100644 --- a/ansible/roles/baselayout/tasks/main.yml +++ b/ansible/roles/baselayout/tasks/main.yml @@ -59,7 +59,7 @@ - name: install packages when: not os|startswith("zos") and not os|startswith("macos") - package: + package: name: "{{ package }}" state: present # Package manager mapping in ansible/roles/package-upgrade/vars/main.yml. @@ -88,19 +88,6 @@ - "{{ packages[os|stripversion]|default('[]') }}" - "{{ common_packages|default('[]') }}" -- name: centos7_ppc64 | update package alternatives - when: os == "centos7" and arch == "ppc64" - alternatives: - link: /usr/local/bin/{{ cmake }} - name: "{{ cmake }}" - path: /usr/bin/{{ cmake }}3 - loop_control: - loop_var: cmake - with_items: - - cmake - - cpack - - ctest - - name: ubuntu1604 | update package alternatives when: os == "ubuntu1604" alternatives: link=/usr/bin/{{ gcc }} name={{ gcc }} path=/usr/bin/{{ gcc }}-5 diff --git a/ansible/roles/baselayout/tasks/partials/repo/centos7.yml b/ansible/roles/baselayout/tasks/partials/repo/centos7.yml deleted file mode 100644 index 0f5f6a5b3..000000000 --- a/ansible/roles/baselayout/tasks/partials/repo/centos7.yml +++ /dev/null @@ -1,65 +0,0 @@ ---- - -- name: centos7 | install epel - yum: - name: "https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm" - state: present - -- name: centos7 | install ius - when: "arch != 'arm64' and arch != 'ppc64'" - yum: - name: "https://repo.ius.io/ius-release-el7.rpm" - state: present - -- name: centos7 | Add CloudLinux - when: "arch != 'arm64' and arch != 'ppc64'" - yum_repository: - name: CloudLinux - description: "Source for devtoolset-6" - baseurl: https://repo.cloudlinux.com/cloudlinux/7/sclo/devtoolset-6/x86_64/ - gpgcheck: no - state: present - - -- name: centos7 | install scl for devtoolset-6, devtoolset-8 - when: "arch != 'arm64'" - yum: - name: centos-release-scl - state: present - -- name: centos7 | aarch64 | install sclo repo - when: "arch == 'arm64'" - copy: - src: "{{ role_path }}/files/centos-aarch-sclo.repo" - dest: "/etc/yum.repos.d/centos-aarch-sclo.repo" - mode: 0644 - -- name: centos7 | aarch64 | install sclo repo key - when: "arch == 'arm64'" - get_url: - url: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-SCLo" - dest: "/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo" - mode: 0644 - -# Clean up from when Python 3 was installed from source -- name: centos7 | ppc64 | clean python 3.7 - file: - state: absent - path: "{{ item }}" - with_items: - - /tmp/Python-3.7 - - /usr/local/bin/2to3 - - /usr/local/bin/2to3-3.7 - - /usr/local/bin/idle3 - - /usr/local/bin/idle3.7 - - /usr/local/bin/pydoc3 - - /usr/local/bin/pydoc3.7 - - /usr/local/bin/python3 - - /usr/local/bin/python3.7 - - /usr/local/bin/python3.7-config - - /usr/local/bin/python3.7m - - /usr/local/bin/python3.7m-config - - /usr/local/bin/python3-config - - /usr/local/bin/pyvenv - - /usr/local/bin/pyvenv-3.7 - when: "arch == 'ppc64'" diff --git a/ansible/roles/baselayout/vars/main.yml b/ansible/roles/baselayout/vars/main.yml index 354ea42f8..4b98ae855 100644 --- a/ansible/roles/baselayout/vars/main.yml +++ b/ansible/roles/baselayout/vars/main.yml @@ -32,18 +32,6 @@ common_packages: [ # % ansible -m debug -a "var=arch" HOST # % ansible -m debug -a "var=os" HOST packages: { - # centos-release-scl is required to enable SCLo but we do it manually in - # partials/repo/centos7.yml for arm64 - centos7_arm64: [ - 'git,python3', # git2u not available for aarch64 (yet) - ], - centos7_x64: ['devtoolset-6-libatomic-devel,git222,centos-release-scl,python3'], - centos7_ppc64: ['cmake3,glib2-devel,git,python3'], - - centos7: [ - 'bzip2-devel,openssl-devel,ccache,gcc-c++,sudo,zlib-devel,libffi-devel,devtoolset-8,devtoolset-8-libatomic-devel', - ], - aix: [ 'bash,cmake,coreutils,curl,gcc-c++,tar,unzip,git,make,sudo,python-setuptools,python3.9', ], @@ -145,7 +133,7 @@ packages: { # Default gcc/g++ package is 7. ubuntu1804: [ 'gcc-6,g++-6,gcc-8,g++-8,python3.8', - ], + ], # Default gcc/g++ package is 11. ubuntu2204: [ diff --git a/ansible/roles/gn/vars/main.yml b/ansible/roles/gn/vars/main.yml index a9d61d168..da11eeef9 100644 --- a/ansible/roles/gn/vars/main.yml +++ b/ansible/roles/gn/vars/main.yml @@ -1,7 +1,6 @@ --- compiler: { - 'centos7': '. /opt/rh/devtoolset-8/enable', 'rhel7': '. /opt/rh/devtoolset-8/enable', 'rhel8': '. /opt/rh/gcc-toolset-11/enable' } diff --git a/ansible/roles/java-base/vars/main.yml b/ansible/roles/java-base/vars/main.yml index 3a263818d..a0e55104d 100644 --- a/ansible/roles/java-base/vars/main.yml +++ b/ansible/roles/java-base/vars/main.yml @@ -25,13 +25,12 @@ packages: { java_package_name: "{{ packages[os]|default(packages[os|stripversion])|default(omit) }}" # Add os_arch combinations here that should install and use AdoptOpenJDK -# binaries. Override any variables in the dictionary. +# binaries. Override any variables in the dictionary. # e.g. on AIX ansible_architecture is 'chrp' on some of our hosts so we # override arch to be on the safe side. adoptopenjdk: { aix72_ppc64: { arch: ppc64 }, aix73_ppc64: { arch: ppc64 }, - centos7_ppc64: {} } adoptopenjdk_arch: "{{ adoptopenjdk[os+'_'+arch].arch | default(ansible_architecture) }}" diff --git a/ansible/roles/jenkins-worker/tasks/partials/tap2junit/centos7.yml b/ansible/roles/jenkins-worker/tasks/partials/tap2junit/centos7.yml deleted file mode 100644 index 36a4676b6..000000000 --- a/ansible/roles/jenkins-worker/tasks/partials/tap2junit/centos7.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- - -# -# centos7: python2.7 is default -# - -- name: install required packages - package: name="{{ package }}" state=present - loop_control: - loop_var: package - with_items: - - python-setuptools - -- name: install tap2junit - pip: - name: tap2junit - state: present - executable: /usr/bin/pip3 diff --git a/ansible/roles/jenkins-worker/vars/main.yml b/ansible/roles/jenkins-worker/vars/main.yml index 979c73fd7..c32151f75 100644 --- a/ansible/roles/jenkins-worker/vars/main.yml +++ b/ansible/roles/jenkins-worker/vars/main.yml @@ -9,7 +9,7 @@ init: { freebsd: 'freebsd', ibmi: 'ibmi74', macos: 'macos', - systemd: ['centos7', 'debian', 'fedora', 'rhel7', 'rhel8', 'rhel9', 'ubuntu1604', 'ubuntu1804','ubuntu2204'], + systemd: ['debian', 'fedora', 'rhel7', 'rhel8', 'rhel9', 'ubuntu1604', 'ubuntu1804','ubuntu2204'], svc: 'smartos', zos_start: 'zos' } diff --git a/doc/node-test-commit-matrix.md b/doc/node-test-commit-matrix.md index 334e37476..4549b92e5 100644 --- a/doc/node-test-commit-matrix.md +++ b/doc/node-test-commit-matrix.md @@ -16,8 +16,6 @@ This is assumed correct as of the date of last commit. If you notice a discrepan - **node-test-commit-linux** - alpine-last-latest-x64 - alpine-latest-x64 - - centos7-64-gcc48 (Node < 10) - - centos7-64-gcc6 (Node >= 10) - debian8-64 - debian8-x86 (Node < 10) - debian9-64 @@ -30,7 +28,8 @@ This is assumed correct as of the date of last commit. If you notice a discrepan - osx1010 (Node < 11) - osx1011 - **node-test-commit-plinux** - - centos7-ppcle (Node >= 12) + - rhel8-ppc64le + - rhel9-ppc64le - **node-test-commit-smartos** - smartos18-64 (Node >= 12) - **node-test-commit-windows-fanned** @@ -60,8 +59,6 @@ This is assumed correct as of the date of last commit. If you notice a discrepan - ubuntu1604_sharedlibs_zlib_x64 1. `CONFIG_FLAGS="$CONFIG_FLAGS --shared-zlib --shared-zlib-includes=${ZLIB12DIR}/include/ --shared-zlib-libpath=${ZLIB12DIR}/lib/" make run-ci -j $JOBS` (ZLIB12DIR points to a pre-build of zlib 1.2) - **node-test-commit-arm** - - centos7-arm64-gcc48 (Node < 10) - - centos7-arm64-gcc6 (Node >= 10) - debian7-docker-armv7 (Node < 10) - debian8-docker-armv7 (Node < 12) - debian9-docker-armv7 (Node >= 10) diff --git a/jenkins/scripts/VersionSelectorScript.groovy b/jenkins/scripts/VersionSelectorScript.groovy index 98d7815a4..1750b836a 100644 --- a/jenkins/scripts/VersionSelectorScript.groovy +++ b/jenkins/scripts/VersionSelectorScript.groovy @@ -20,10 +20,6 @@ def buildExclusions = [ // Machine Label, Build Type, Node Version // Linux ------------------------------------------------- - [ /^centos7-(arm)?64-gcc48/, anyType, gte(18) ], - [ /^centos7-(arm)?64-gcc6/, anyType, gte(18) ], // 14.x: gcc6 builds stop - [ /^centos7-(arm)?64-gcc8/, anyType, gte(18) ], // 18.x: centos7 builds stop - [ /^centos7-64/, anyType, gte(18) ], [ /debian10/, anyType, gte(21) ], [ /debian11/, anyType, gte(23) ], [ /alpine-last-latest/, anyType, gte(22) ], // Alpine 3.18. Bug in GCC 12.2. @@ -31,9 +27,6 @@ def buildExclusions = [ [ /^ubuntu1604-32/, anyType, gte(18) ], // 32-bit linux for <10 only [ /^ubuntu1604-64/, anyType, gte(18) ], - // Linux PPC LE ------------------------------------------ - [ /^centos7-ppcle/, anyType, gte(18) ], - // ARM -------------------------------------------------- [ /^ubuntu1804-arm64/, anyType, gte(20) ], // 20.x: gcc8 builds stop [ /^cross-compiler-ubuntu1604-armv[67]-gcc-4.9/, anyType, gte(18) ], diff --git a/jenkins/scripts/select-compiler.sh b/jenkins/scripts/select-compiler.sh index ea381e62c..bef544b6c 100644 --- a/jenkins/scripts/select-compiler.sh +++ b/jenkins/scripts/select-compiler.sh @@ -126,28 +126,6 @@ if [ "$SELECT_ARCH" = "PPC64LE" ]; then echo "Setting compiler for Node version $NODEJS_MAJOR_VERSION on ppc64le" - case $NODE_NAME in - *centos7* ) - if [ "$NODEJS_MAJOR_VERSION" -gt "13" ]; then - # Setup devtoolset-8, sets LD_LIBRARY_PATH, PATH, etc. - . /opt/rh/devtoolset-8/enable - export CC="ccache ppc64le-redhat-linux-gcc" - export CXX="ccache ppc64le-redhat-linux-g++" - export LINK="ppc64le-redhat-linux-g++" - echo "Compiler set to devtoolset-8" - return - elif [ "$NODEJS_MAJOR_VERSION" -gt "9" ]; then - # Setup devtoolset-6, sets LD_LIBRARY_PATH, PATH, etc. - . /opt/rh/devtoolset-6/enable - export CC="ccache ppc64le-redhat-linux-gcc" - export CXX="ccache ppc64le-redhat-linux-g++" - export LINK="ppc64le-redhat-linux-g++" - echo "Compiler set to devtoolset-6" - return - fi - ;; - esac - elif [ "$SELECT_ARCH" = "S390X" ]; then # Set default @@ -231,14 +209,6 @@ elif [ "$SELECT_ARCH" = "X64" ]; then echo "Setting compiler for Node version $NODEJS_MAJOR_VERSION on x64" case $nodes in - centos7-64-gcc8 ) - . /opt/rh/devtoolset-8/enable - echo "Compiler set to devtoolset-8" - ;; - centos7-64-gcc6 ) - . /opt/rh/devtoolset-6/enable - echo "Compiler set to devtoolset-6" - ;; *ubuntu1804*64|*ubuntu1604-*64|benchmark ) if [ "$NODEJS_MAJOR_VERSION" -gt "15" ]; then export CC="ccache gcc-8" @@ -260,14 +230,6 @@ elif [ "$SELECT_ARCH" = "ARM64" ]; then case $nodes in - centos7-arm64-gcc8 ) - . /opt/rh/devtoolset-8/enable - echo "Compiler set to devtoolset-8" - ;; - centos7-arm64-gcc6 ) - . /opt/rh/devtoolset-6/enable - echo "Compiler set to devtoolset-6" - ;; *ubuntu1804* ) if [ "$NODEJS_MAJOR_VERSION" -gt "15" ]; then export CC="ccache gcc-8" diff --git a/tools/build-p-ssh-hosts.sh b/tools/build-p-ssh-hosts.sh index 28df124cc..7378ea93d 100755 --- a/tools/build-p-ssh-hosts.sh +++ b/tools/build-p-ssh-hosts.sh @@ -15,9 +15,6 @@ egrep '^Host .*-.*-.*-.*' ~/.ssh/config | sed -e 's/^Host //' -e 's/ .*//' > hos # Add aliases for groups of hosts. Feel free to add more aliases as useful. grep -- '-arm' hosts/all > hosts/arm grep -- 'aix61-ppc64_be' hosts/all > hosts/aix61-ppc64_be -grep -- 'centos7-ppc64_le' hosts/all > hosts/centos7-ppc64_le -grep -- 'centos7-ppc64_le' hosts/all > hosts/centos7-ppc64_le -grep -- 'centos7' hosts/all > hosts/centos7 grep -- 'digitalocean' hosts/all > hosts/digitalocean grep -- 'infra-' hosts/all > hosts/infra grep -- 'joyent' hosts/all > hosts/joyent