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

Set up new release machine for Linux/aarch64 #2752

Closed
sxa opened this issue Sep 7, 2021 · 9 comments · Fixed by #2755
Closed

Set up new release machine for Linux/aarch64 #2752

sxa opened this issue Sep 7, 2021 · 9 comments · Fixed by #2755
Assignees

Comments

@sxa
Copy link
Member

sxa commented Sep 7, 2021

Related to #2729

The existing 96 core/32Gb ThunderX machines at packet/equinix are being replaced as they are now out of support. I have provisioned a new Ampere eMag (32 core, 128Gb) running CentOS7 which will need to be set up to replace it. The IP address is 139.178.85.110 and it calls itself release-equinix-centos7-arm64-1. I've logged in to verify it's working, but someone else will need to do the setup and hardening of it

Cc @nodejs/build

@mhdawson
Copy link
Member

mhdawson commented Sep 7, 2021

@sxa have you run ansible on it? ie it just needs to be configured in the firewall and the secrets needed to push releases or is it just a bare install?

@sxa
Copy link
Member Author

sxa commented Sep 8, 2021

As per the original post I've logged in to verify it's working, but not done any further setup on it as I do not administer the release systems.

@rvagg
Copy link
Member

rvagg commented Sep 9, 2021

@sxa how are we setting this up, is it with the dockerisation or is it intended to be a bare release machine that we'll need to install all of the standard pieces on?

I'm hoping I have prior art here for the cross compilers with docker as release machines that I can copy, otherwise there might be some new hackery to make it work.

@rvagg
Copy link
Member

rvagg commented Sep 9, 2021

ahh, yes we have prior art with the cross compilers:

root@release-joyent-ubuntu1804-docker-x64-1:/home/iojs/release-joyent-ubuntu1804_arm_cross_container-x64-1/.ssh# ls -al
total 20
drwxr-xr-x  2 iojs iojs 4096 Apr 17  2020 .
drwxr-xr-x 10 iojs iojs 4096 Apr 17  2020 ..
-rw-------  1 iojs iojs  107 Apr 17  2020 config
-rw-------  1 iojs iojs 3980 Aug 11 01:33 known_hosts
-rw-------  1 iojs iojs 1676 Apr 17  2020 node-www-staging
root@release-joyent-ubuntu1804-docker-x64-1:/home/iojs/release-joyent-ubuntu1804_arm_cross_container-x64-1/.ssh# cat config
Host iojs-www node-www
  HostName direct.nodejs.org
  User staging
  IdentityFile ~/.ssh/node-www-staging

it's not that hard cause the home directories are mounted from the host into the container so it's just a matter of setting up the ssh keys, but I think we also need to make sure known_hosts is setup properly too.

We use CentOS 7 for our current ARM releases, I assume we agree that we should just copy that config for now so we have continuity? Since it's containerised we have a really easy way to upgrade to other distros for newer release lines while keeping the old one intact.

@sxa
Copy link
Member Author

sxa commented Sep 9, 2021

This one is a bare metal CentOS7 so can be set up the same way as the existing release machine without containers. I'm not sure where the cross-compile bits from your questions come from - this is intended to replace the aarch64 release machine which I didn't think did any cross-compilation...

@richardlau richardlau self-assigned this Sep 9, 2021
@rvagg
Copy link
Member

rvagg commented Sep 9, 2021

The point about the cross compiler is that we do it in docker containers, it's the only example of doing release builds within docker using the same setup as you've done with the other arm64 machines. So it's possible for us to do that here and then we'd have room to bump to CentOS 8 at some point without having to have an additional machine to do it on, but for now just have the single container on it. i.e. we don't need high volume on this machine but we could do Docker to give us flexibility .. it does add a little bit of complexity though; and on the other hand we already have setup scripts for the older host that could be run on this. 🤷

@richardlau
Copy link
Member

I've set up the new machine as a non-Docker (for now). I have a test build going and will open PR's shortly: https://ci-release.nodejs.org/job/iojs+release/7164/nodes=centos7-arm64-gcc8/

@sxa
Copy link
Member Author

sxa commented Sep 27, 2021

I've kept the old machine https://ci-release.nodejs.org/computer/release-packetnet-centos7-arm64-1/ offline for now so we can evaluate the replacement.

No issues reported therefore I will decomission the release machine today.

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

Successfully merging a pull request may close this issue.

4 participants