fix: don't abort install.sh when the OpenShell gateway health-check fails - #26
Merged
Merged
Conversation
…ails
install.sh installs OpenShell before it installs this driver and runs
`setup`. The OpenShell installer starts and health-checks its gateway,
which cannot become reachable until `setup` wires in the compute driver
afterwards — so it exits non-zero ("local gateway listener did not become
reachable within 30s"). Under `set -eu` that aborted the whole script,
leaving OpenShell and apple/container installed but the driver never set
up: the gateway then crash-loops with "no compute driver configured".
Tolerate the expected non-zero exit from the OpenShell installer and
assert the `openshell` binary actually landed instead, then continue on
to install the driver and run `setup`, which brings the gateway up.
Signed-off-by: Vyncint Ng <vyncint@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bug
install.shrunscheck_openshellbefore it installs the driver and runssetup:check_openshellshells out to NVIDIA's official OpenShell installer, which starts and health-checks the gateway. But that gateway can't become reachable until this driver'ssetupwires a compute driver into it — which happens two steps later. So the OpenShell installer exits non-zero (local gateway listener did not become reachable within 30s), and becauseinstall.shruns underset -eu, that aborts the whole script beforesetupever runs.Result of a fresh
curl … | install.sh | sh: apple/container and OpenShell get installed, but the driver is never set up. The gateway then crash-loops (no compute driver configured/failed to connect to /tmp/oshl-ac/driver.sock) — exactly the broken state a fresh install just produced on my machine.The fix
Tolerate the OpenShell installer's expected non-zero exit, but assert the binary actually installed, then let the script continue to
install_driver→maybe_setup:setupbrings the gateway up at the end (it's idempotent and also repairs the CLI's gateway registration). A genuine OpenShell install failure is still caught —need openshellfails and weerrout.Verification
sh -n install.shparses;shellcheckclean (same set the CI job lints).curl … | shleft the gateway crash-looping withno compute driver configured; runningopenshell-driver-applecontainer setupby hand fixed it completely (gateway Connected, sandbox create → Ready →exec uname -areturnsLinux … 6.18.15 aarch64). This PR removes the need for that manual step.