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

Ansible errors on centos7-x64 #2587

Closed
richardlau opened this issue Mar 23, 2021 · 6 comments · Fixed by #2651
Closed

Ansible errors on centos7-x64 #2587

richardlau opened this issue Mar 23, 2021 · 6 comments · Fixed by #2651

Comments

@richardlau
Copy link
Member

Refs: #2507 (comment)

Attempting to run ansible against our three centos7-x64 hosts results in errors, detailed below.

  • release-digitalocean-centos7-x64-1
  • test-rackspace-centos7-x64-1
  • test-softlayer-centos7-x64-1

It also appears that the three hosts were set up at different points in time and currently do not have the same packages installed (see below about the git2u and devtoolset-6-libatomic-devel packages).

Failed 'baselayout : centos7 | install ius'

Reported in #2531

- name: centos7 | install ius
when: "arch != 'arm64' and arch != 'ppc64'"
yum:
name: "https://centos{{ ansible_distribution_major_version }}.iuscommunity.org/ius-release.rpm"
state: present

The "centos*.iuscommunity.org" URLs were retired in 2020: iusrepo/announce#18
The URL can be replaced by https://repo.ius.io/ius-release-el7.rpm, which fixes this problem but then leads to...

No package matching 'git2u' found available, installed or updated

On test-rackspace-centos7-x64-1 and release-digitalocean-centos7-x64-1 (it's already installed on test-softlayer-centos7-x64-1).
The git2u package was renamed to git216 in December 2019 (iusrepo/git216#14) and then made End-of-Life in May 2020 (iusrepo/announce#19). git222 looks like the current replacement.
git222 conflicts with git2u on test-softlayer-centos7-x64-1 and with git216 on test-rackspace-centos7-x64-1. Sam seemed to have noticed this in fa08ea2.

No package matching 'devtoolset-6-libatomic-devel' found available, installed or updated

On test-softlayer-centos7-x64-1 and release-digitalocean-centos7-x64-1 (it's already installed on test-rackspace-centos7-x64-1.
Perhaps it's no longer required, at least in the default configuration CI builds? (Apparently it's needed when building with clang nodejs/node#30093).
It appears that devtoolset-6 is no longer available in Software Collections: https://forums.centos.org/viewtopic.php?t=71663
This means we cannot easily install/reinstall it via ansible/yum. Perhaps due to the way devtoolsets work this isn't a problem in practice and we can use a later one (e.g. devtoolset-8)? In the past we've been very conservative about switching.

@rvagg
Copy link
Member

rvagg commented Mar 24, 2021

In theory it should be ok to update to a later devtoolset I think, but we've tried really hard (and so far succeeded) to keep it stable over the life of a release line. This has left us dangling a few times, with out of date OSs and packages, crossing our fingers that we don't need to reprovision.
Policy is up for discussion on this one.

@AshCripps
Copy link
Member

We can still get the x64 binarys for devtoolset-6 but they require a redhat login so it would make sense to put them somewhere like http://ci.nodejs.org/downloads but how do we actually do that/is that still a viable solution?

@mhdawson
Copy link
Member

@AshCripps we also need to check that it's ok for use to use the packages on non RH/IBM hardware.

We can't put it somewhere public like the downloads site, but we have put thing on the ci server for use in ansible in the past (I know we did it for AIX)

@AshCripps
Copy link
Member

AshCripps commented May 10, 2021

Turns out the unoffical builds use the cloud linux repos for devtoolset6 - https://github.com/nodejs/unofficial-builds/blob/6909a6aac1c6b1a6a2b3adaac54b93b46eeaded9/recipes/x86/cloudlinux.repo#L3

@rvagg do you know of any reason why we shouldnt switch to the cloudlinux repo? i.e. is it likely to suddenly go away like the software collections version?

@rvagg
Copy link
Member

rvagg commented May 11, 2021

no reason, this has always been a game of chasing who has the devtoolset we want and keeps it available! all the distros and the stand-alone distributions of the historical devtoolset versions have a lower tolerance for keeping them around than the RHEL support timeline so they keep on disappearing and you have to go hunting for a new source .. that's why the discrepancy, but also if you look in the history of this repo you'll see many sources of both 6 and 2 before it. yay "long term support" and the booo for the lack of a permanent web.

AshCripps pushed a commit to AshCripps/build that referenced this issue May 12, 2021
@AshCripps
Copy link
Member

Opened #2651 to close this out - for resolving of conflicts I manually removed the old files and installed the new ones on top

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants