Files
vh 172d893cdf test(albok): sshfs pathname-withdrawal test for the .browse/ view passes (unit 4.3 exposure gate)
Replica of a browse view on nh3-albok, Linux sshfs 3.7.3 client in an ephemeral
container on nh3-dev, N=5 per condition. Fresh open of a never-opened child
through a cached listing: ENOENT 5/5 with sshfs defaults and 5/5 with hour-long
client caches. Null control (no rename) opens 5/5; held fd and failed-rename
positive controls read 5/5. Replica removed afterwards.

Also closes the post-clear checks in persistent-memory: fv-ml1 GPU 0/1 plateau,
nh3-nas usage, and the mislabelled sfsrv-ana pre-pbs4 item.
2026-10-09 20:23:30 -07:00

25 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Pathname-withdrawal test for the albok browse view over sshfs (unit 4.3 exposure gate).
#
# 1. ssh infra-ops@10.100.50.44 python3 - < setup-replica.py > manifest.json
# 2. ./run.sh [trials-per-condition] # default 5; JSON lands in results-<stamp>.json
# 3. remove the replica on nh3-albok by its literal path when done
#
# The client is an ephemeral Debian 12 container on nh3-dev (sshfs 3.7.3 / libfuse 3), so
# nothing is installed on the host. It needs /dev/fuse and CAP_SYS_ADMIN to mount.
set -euo pipefail
here=$(cd "$(dirname "$0")" && pwd)
n=${1:-5}
stamp=$(date +%Y%m%d-%H%M)
out="$here/results-$stamp.json"
echo "start $(date '+%F %H%M %Z')" >&2
docker run --rm --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor=unconfined \
-v "$HOME/.ssh/infra-ops_ed25519:/keys/id:ro" \
-v "$HOME/.ssh/known_hosts:/keys/known_hosts:ro" \
-v "$here:/work" \
debian:bookworm-slim bash -c "
apt-get -qq update >/dev/null && apt-get -qq install -y sshfs python3 openssh-client >/dev/null 2>&1
sshfs --version >&2
python3 /work/run-trials.py /work/manifest.json $n" > "$out"
echo "end $(date '+%F %H%M %Z') -> $out" >&2