Skip to content

Commit

Permalink
Check gvisor on startup of run.sh, and clean up scripts related to gv…
Browse files Browse the repository at this point in the history
…isor flags (#760)

* Check gvisor on startup
* Clear up get_checkpoint_path.sh script, so it doesn't hurt to run it twice
  • Loading branch information
dsagal authored Nov 27, 2023
1 parent 3e39c04 commit 6282558
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
10 changes: 5 additions & 5 deletions sandbox/gvisor/get_checkpoint_path.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function check_gvisor {
return
fi
# Check if a trivial command works under gvisor with the proposed flags.
if runsc --network none "$@" do true 2> /dev/null; then
if runsc --network none "$@" "do" true 2> /dev/null; then
export GVISOR_FLAGS="$@"
export GVISOR_AVAILABLE=1
fi
Expand All @@ -40,9 +40,9 @@ function check_gvisor {
check_gvisor --unprivileged --ignore-cgroups
check_gvisor --unprivileged

# If we can't use --unprivileged, stick with --rootless and no checkpoint
if [[ -z "$GVISOR_FLAGS" ]]; then
check_gvisor --rootless
else
# If we can't use --unprivileged, stick with --rootless. We will not make a checkpoint.
check_gvisor --rootless

if [[ "$GVISOR_FLAGS" =~ "-unprivileged" ]]; then
export GRIST_CHECKPOINT=/tmp/engine_$(echo $PWD | sed "s/[^a-zA-Z0-9]/_/g")
fi
11 changes: 10 additions & 1 deletion sandbox/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,17 @@
set -e

if [[ "$GRIST_SANDBOX_FLAVOR" = "gvisor" ]]; then
./sandbox/gvisor/update_engine_checkpoint.sh
source ./sandbox/gvisor/get_checkpoint_path.sh

# Check GVISOR_FLAGS we ended up with. Don't ignore the output, it may be helpful in troubleshooting.
if runsc --network none $GVISOR_FLAGS "do" true; then
echo "gvisor check ok (flags: ${GVISOR_FLAGS})"
else
echo "gvisor check failed (flags: ${GVISOR_FLAGS}); consider different GVISOR_FLAGS or GRIST_SANDBOX_FLAVOR"
exit 1
fi

./sandbox/gvisor/update_engine_checkpoint.sh
fi

NODE_PATH=_build:_build/stubs:_build/ext node _build/stubs/app/server/server.js

0 comments on commit 6282558

Please sign in to comment.