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

Request for temporary access to Raspberry Pi's #2598

Closed
targos opened this issue Mar 30, 2021 · 12 comments
Closed

Request for temporary access to Raspberry Pi's #2598

targos opened this issue Mar 30, 2021 · 12 comments

Comments

@targos
Copy link
Member

targos commented Mar 30, 2021

In order to help with updating the Dockerfile used by the RPi's to run tests, I would like to request access to one of the Pi 3's.

Refs: #2507 (comment)

@targos
Copy link
Member Author

targos commented Mar 30, 2021

@nodejs/build-infra

@mhdawson
Copy link
Member

+1

@targos
Copy link
Member Author

targos commented Apr 2, 2021

@richardlau could you help me with that?

@richardlau
Copy link
Member

We access the Pi's through a jump host,

ansible_ssh_common_args = -o ProxyCommand='ssh -i {{ ansible_ssh_private_key_file }} -p 2222 jump@vagg-arm.nodejs.org nc -q0 %h %p'

@rvagg since @targos doesn't have access to secrets/the nodejs test key (the {{ ansible_ssh_private_key_file }}) would I need to add his key to the jump host itself as well as the Pi?

@rvagg
Copy link
Member

rvagg commented Apr 3, 2021

Oh, @targos doesn't have node_build_test? Then yes, adding his key into both the jump ~jump account authorized_keys as well as the Pi will be necessary. Or just give him node_build_test and call it part of the "build helper" program, which shouldn't be a big deal since he's a TSC member already and well within the basic "circle of trust" (I'm surprised he doesn't have it already!).

@richardlau
Copy link
Member

richardlau commented Apr 3, 2021

@targos I've put your keys on

  • the jump host
  • test-requireio_notthetup_sayanee-debian10-arm64_pi3-1
  • test-requireio_pivotalagency-debian10-arm64_pi3-2

From my ssh config:

Host test-requireio_notthetup_sayanee-debian10-arm64_pi3-1 iojs-ns-pi3-9
  HostName 192.168.2.88
  IdentityFile ~/.ssh/nodejs_build_test
  User pi
  ProxyCommand ssh -i ~/.ssh/nodejs_build_test -p 2222 jump@vagg-arm.nodejs.org nc -q0 %h %p

Host test-requireio_pivotalagency-debian10-arm64_pi3-2 iojs-ns-pi3-6
  HostName 192.168.2.85
  IdentityFile ~/.ssh/nodejs_build_test
  User pi
  ProxyCommand ssh -i ~/.ssh/nodejs_build_test -p 2222 jump@vagg-arm.nodejs.org nc -q0 %h %p

You should be able to log into one of the two Pi's like this (replacing ~/.ssh/nodejs_build_test with your own):

ssh -o ProxyCommand='ssh -i ~/.ssh/nodejs_build_test -p 2222 jump@vagg-arm.nodejs.org nc -q0 %h %p' -i ~/.ssh/nodejs_build_test pi@192.168.2.88

test-requireio_notthetup_sayanee-debian10-arm64_pi3-1 is currently not being used in Jenkins (@rvagg disconnected it last November for checking) so won't affect any builds.

test-requireio_pivotalagency-debian10-arm64_pi3-2 is currently one of only two Pi 3's that are online in Jenkins and able to run builds.

Once in you'll need to sudo as root to find the Dockerfiles in /root (#2507 (comment)).

@targos
Copy link
Member Author

targos commented Apr 3, 2021

Thanks @richardlau.
I managed to connect to the first one (IP ending with 88) and experimented on it. I think I have something that works to compile and install the latest Python 3.
However, it seems that the Dockerfile on that one is outdated (it doesn't use the same base image that is in this repository), so I tried to connect to the second one, but the ssh command hangs.

@richardlau
Copy link
Member

@targos Looks like test-requireio_pivotalagency-debian10-arm64_pi3-2 has gone offline since this morning 😞 and we're down to a single Pi 3 connected to Jenkins.

I've added your key to test-requireio_williamkapke-debian10-arm64_pi3-1:

Host test-requireio_williamkapke-debian10-arm64_pi3-1 iojs-ns-pi3-1
  HostName 192.168.2.80
  IdentityFile ~/.ssh/nodejs_build_test
  User pi
  ProxyCommand ssh -i ~/.ssh/nodejs_build_test -p 2222 jump@vagg-arm.nodejs.org nc -q0 %h %p

@targos
Copy link
Member Author

targos commented Apr 3, 2021

Actually, I think I was just looking at the wrong template.
It looks like the Dockerfile on the Pi's is based on https://github.com/nodejs/build/blob/master/ansible/roles/jenkins-worker/templates/rpi_stretch.Dockerfile.j2 instead of https://github.com/nodejs/build/blob/master/ansible/roles/jenkins-worker/templates/armv7_stretch.Dockerfile.j2

@targos
Copy link
Member Author

targos commented Apr 3, 2021

Here's what I ended up with: #2606

@targos
Copy link
Member Author

targos commented Jun 14, 2021

Can we close this issue or do we need to cleanup permissions first?

@richardlau
Copy link
Member

We normally keep these open until the cleanup (i.e. removal of keys from the test hosts) has been done.

I've gone through the hosts and the only one your keys were still on was the jump host -- I've now removed your keys from that. For the other hosts I'm guessing the work done in #2661 to reprovision the Pi 3's reset things to a clean state.

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

No branches or pull requests

4 participants