From a47c9b8a2cd8dc936b40736e75dccdb1d3805fc2 Mon Sep 17 00:00:00 2001 From: Eliza Weisman Date: Thu, 29 Jan 2026 18:23:15 -0800 Subject: [PATCH 1/3] We work at a computer company. Let's use our computers Presently there is a shortage of servers to run Buildomat workers for CI jobs. Fortunately, we work at a company that makes servers. So we can just make more servers. And then we can use those servers for CI. And then everyone's happy. In order to do that, we must use the `lab-2.0-gimlet` Buildomat target rather than `helios-2.0` or `lab-2.0-opte` targets. It's possible that some or all of Omicron's CI cannot easily do that due to special-cased behavior for the `i86pc` architecture to detect running in a dev environment. Luckily, no such behavior exists in Propolis, so (hopefully!) we can just switch our Buildomat jobs to the `lab-2.0-gimlet` target and (hopefully) it will Just Work. This way, we're not competing with Omicron builds for the relatively scarce non-Gimlet workers. --- .github/buildomat/jobs/phd-run-migrate-from-base.sh | 2 +- .github/buildomat/jobs/phd-run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/buildomat/jobs/phd-run-migrate-from-base.sh b/.github/buildomat/jobs/phd-run-migrate-from-base.sh index 61a400f13..1fcfcf99c 100644 --- a/.github/buildomat/jobs/phd-run-migrate-from-base.sh +++ b/.github/buildomat/jobs/phd-run-migrate-from-base.sh @@ -2,7 +2,7 @@ #: #: name = "phd-run-migrate-from-base" #: variety = "basic" -#: target = "lab-2.0-opte" +#: target = "lab-2.0-gimlet" #: output_rules = [ #: "/tmp/phd-runner.log", #: "/tmp/phd-tmp-files.tar.gz", diff --git a/.github/buildomat/jobs/phd-run.sh b/.github/buildomat/jobs/phd-run.sh index 6125b8e6a..82d11a466 100644 --- a/.github/buildomat/jobs/phd-run.sh +++ b/.github/buildomat/jobs/phd-run.sh @@ -2,7 +2,7 @@ #: #: name = "phd-run" #: variety = "basic" -#: target = "lab-2.0-opte" +#: target = "lab-2.0-gimlet" #: output_rules = [ #: "/tmp/phd-runner.log", #: "/tmp/phd-tmp-files.tar.gz", From 0e6794333dbd536a15edcf043e0ed7bde95328de Mon Sep 17 00:00:00 2001 From: Eliza Weisman Date: Fri, 30 Jan 2026 09:37:54 -0800 Subject: [PATCH 2/3] Try to make zpool create work on gimlets --- .github/buildomat/phd-run-with-args.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/buildomat/phd-run-with-args.sh b/.github/buildomat/phd-run-with-args.sh index 4ca389227..ac3dee08b 100755 --- a/.github/buildomat/phd-run-with-args.sh +++ b/.github/buildomat/phd-run-with-args.sh @@ -13,7 +13,11 @@ phddir="$PWD/phd-test" # Put artifacts on the runner's SSDs (the /work ramdisk is small by design, too # small for images of any appreciable size). -pfexec zpool create -f phd-artifacts c1t1d0 c2t1d0 + +# Find usable disks to make a zpool on. Note that this only works on Oxide +# compute sled runners such as `lab-2.0-gimlet`. +disks=$(pilot local disk list -H -o type,disk | grep -v 'M.2' | cut -f 2 | tr "\n" ' ') +pfexec zpool create -f phd-artifacts ${disks} artifactdir="/phd-artifacts" banner 'Inputs' From 30e18e5e6ba161c3508bd1937b482d9d6259a8fe Mon Sep 17 00:00:00 2001 From: Eliza Weisman Date: Fri, 30 Jan 2026 09:39:05 -0800 Subject: [PATCH 3/3] Oh there's maybe a nicer way to do that in bash --- .github/buildomat/phd-run-with-args.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/buildomat/phd-run-with-args.sh b/.github/buildomat/phd-run-with-args.sh index ac3dee08b..6c505749c 100755 --- a/.github/buildomat/phd-run-with-args.sh +++ b/.github/buildomat/phd-run-with-args.sh @@ -16,8 +16,8 @@ phddir="$PWD/phd-test" # Find usable disks to make a zpool on. Note that this only works on Oxide # compute sled runners such as `lab-2.0-gimlet`. -disks=$(pilot local disk list -H -o type,disk | grep -v 'M.2' | cut -f 2 | tr "\n" ' ') -pfexec zpool create -f phd-artifacts ${disks} +disks=( $(pilot local disk list -H -o type,disk | grep -v 'M.2' | cut -f 2) ) +pfexec zpool create -f phd-artifacts ${disks[@]} artifactdir="/phd-artifacts" banner 'Inputs'