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

x/build: add LUCI plan9-386 builder #63599

Closed
0intro opened this issue Oct 17, 2023 · 15 comments
Closed

x/build: add LUCI plan9-386 builder #63599

0intro opened this issue Oct 17, 2023 · 15 comments
Labels
arch-386 Issues solely affecting the 32-bit x86 architecture Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done. new-builder OS-Plan9
Milestone

Comments

@0intro
Copy link
Member

0intro commented Oct 17, 2023

@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Oct 17, 2023
@gopherbot gopherbot added this to the Unreleased milestone Oct 17, 2023
@cagedmantis cagedmantis added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Oct 19, 2023
@cagedmantis
Copy link
Contributor

@golang/release

@cagedmantis cagedmantis moved this to In Progress in Go Release Oct 20, 2023
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/536196 mentions this issue: main.star: add plan9-{386, amd64, arm} builders

gopherbot pushed a commit to golang/build that referenced this issue Oct 25, 2023
For golang/go#63599
For golang/go#63600
For golang/go#63601

Change-Id: I804b903615861667cc88c70b25296871788ef5ed
Reviewed-on: https://go-review.googlesource.com/c/build/+/536196
Reviewed-by: Dmitri Shuralyov <[email protected]>
TryBot-Bypass: Carlos Amedee <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
Auto-Submit: Carlos Amedee <[email protected]>
@cagedmantis
Copy link
Contributor

Here is the certificate: plan9-386-1698265768.cert.txt

@0intro
Copy link
Member Author

0intro commented Nov 10, 2023

Thank you for the certificate.

I've tried to launch the swarming bot, but I came across this error:

$ luci_machine_tokend -backend luci-token-server.appspot.com -cert-pem plan9-386.crt -pkey-pem plan9-386.key -token-file=$HOME/lib/luci_machine_tokend/token.json
[I2023-11-10T19:22:20.630093+01:00 822864 0 iface.go:167] tsmon is disabled because no endpoint is configured
[I2023-11-10T19:22:20.630912+01:00 822864 0 main.go:237] The token is valid, skipping the update
$ bootstrapswarm -token-file-path $HOME/lib/luci_machine_tokend/token.json -hostname plan9-386
2023/11/10 19:22:24 Bootstrapping the swarming bot with certificate authentication
2023/11/10 19:22:24 retrieving the luci-machine-token from the token file
2023/11/10 19:22:24 Downloading the swarming bot
2023/11/10 19:22:25 Starting the swarming bot /home/djc/.swarming/swarming_bot.zip
822925 2023-11-10 18:22:26.773 E: Request to https://chromium-swarm.appspot.com/swarming/api/v1/bot/handshake failed with HTTP status code 403: 403 Client Error: Forbidden for url: https://chromium-swarm.appspot.com/swarming/api/v1/bot/handshake
822925 2023-11-10 18:22:26.773 E: Failed to contact for handshake, retrying in 0 sec...

Is there something I'm doing wrong?

Also, since we can't run Python on Plan 9, the idea is to run the swarming bot on a Linux machine, which will run the command on a remote Plan 9 instance (like ssh glenda@plan9 ls /).
Can the swarming bot be used this way? Maybe there is a similar approach to run the Go tests on Android.

Thanks.

@0intro
Copy link
Member Author

0intro commented Nov 10, 2023

CC @millerresearch

@0intro
Copy link
Member Author

0intro commented Jan 19, 2024

Here is an update of how far the swarming bot goes currently.

I don't have the API error anymore. The swarming bot is starting successfully, then waits forever.
After 4m, it tries to restart the machine.

$ export LUCI_MACHINE_TOKEN=$HOME/lib/luci_machine_tokend/token.json
$ export SWARMING_ALLOW_ANY_USER=x
$ export SWARMING_NEVER_REBOOT=x
$ bootstrapswarm -hostname plan9-386
2024/01/19 21:40:19 Bootstrapping the swarming bot with certificate authentication
2024/01/19 21:40:19 retrieving the luci-machine-token from the token file /home/djc/lib/luci_machine_tokend/token.json (via LUCI_MACHINE_TOKEN env var)
2024/01/19 21:40:19 Downloading the swarming bot
2024/01/19 21:40:20 Starting the swarming bot /home/djc/.swarming/swarming_bot.zip
sudo: a password is required
2081809 2024-01-19 20:44:20.315 E: Failed to run sudo -n /sbin/shutdown -r now: Command '['sudo', '-n', '/sbin/shutdown', '-r', 'now']' returned non-zero exit status 1.
sudo: a password is required
2081809 2024-01-19 20:44:20.320 E: Failed to run sudo -n /sbin/reboot -f: Command '['sudo', '-n', '/sbin/reboot', '-f']' returned non-zero exit status 1.
2081809 2024-01-19 20:49:20.271 E: post_error(Host is stuck rebooting for: Periodic reboot after 6560899s)

@dmitshur
Copy link
Contributor

Thanks for trying again and confirming the API error isn't happening by now.

Did you have a chance to see your bot at https://chromium-swarm.appspot.com/botlist while it was connected, and what dimensions it reported? (Most relevant is the cipd_platform dimension.)

The attempted "Periodic reboot" seems unexpected, SWARMING_NEVER_REBOOT being set in the environment should've disabled it as I understand. For completeness, what's the version of bootstrapswarm?

@0intro
Copy link
Member Author

0intro commented Jan 19, 2024

bootstrapswarm is the latest version from the golang.org/x/build repository.

I can see the bot successfully on https://chromium-swarm.appspot.com/bot?id=plan9-386.

cipd_platform is linux-amd64, which is expected, since the goal would be to run the bot on a Linux machine and send remote commands to the Plan 9 machine through SSH.

@0intro
Copy link
Member Author

0intro commented Jun 5, 2024

The LUCI plan9-386 builder is showing its first successful build.

https://chromium-swarm.appspot.com/task?id=6a027c77e5910d10

@dmitshur
Copy link
Contributor

dmitshur commented Jun 5, 2024

Congrats on the progress!

On the corresponding build page (https://ci.chromium.org/b/8745946740583765537), oddly, there are 31 failing test result entries (and 2901 passing) despite the overall build status being "succeeded".

A frequent error in the logs appears to be "go: creating work dir: stat /home/swarming/tmp: '/home/swarming/tmp' file does not exist".

@0intro
Copy link
Member Author

0intro commented Jun 5, 2024

Thanks for noticing. I'll investigate.

@0intro
Copy link
Member Author

0intro commented Jun 5, 2024

I think it should be fixed now.

https://ci.chromium.org/ui/p/golang/builders/ci/x_time-gotip-plan9-386/

@dmitshur dmitshur added OS-Plan9 arch-386 Issues solely affecting the 32-bit x86 architecture NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Aug 24, 2024
@dmitshur dmitshur moved this from Planned to In Progress in Go Release Aug 24, 2024
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/608155 mentions this issue: main.star: unset known issues for plan9/{386,arm} builder types

@0intro
Copy link
Member Author

0intro commented Sep 23, 2024

The tests are now passing successfully on the LUCI plan9/386 builder.

gopherbot pushed a commit to golang/build that referenced this issue Nov 22, 2024
These builders have reached a point where they're considered added.

Fixes golang/go#63599.
Fixes golang/go#63601.

Change-Id: I37bcd2905b0b39b639828c3e3de9f2d0ebdbc994
Reviewed-on: https://go-review.googlesource.com/c/build/+/608155
Reviewed-by: Michael Pratt <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
Reviewed-by: David du Colombier <[email protected]>
Auto-Submit: Dmitri Shuralyov <[email protected]>
Reviewed-by: Richard Miller <[email protected]>
@gopherbot
Copy link
Contributor

Closed by merging CL 608155 (commit golang/build@8dd23da) to luci-config.

@github-project-automation github-project-automation bot moved this from In Progress to Done in Go Release Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-386 Issues solely affecting the 32-bit x86 architecture Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done. new-builder OS-Plan9
Projects
Archived in project
Development

No branches or pull requests

5 participants
@cagedmantis @dmitshur @0intro @gopherbot and others